diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..c0a96e68 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 00000000..261e3200 --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,44 @@ +name: CI Tests + +# Migrated from .travis.yml, based on cwltool's ci-tests.yml. +# See .travis.yml in git history for previous changes and configurations. + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +concurrency: + group: build-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + + ci_tests: + name: CI Tests + runs-on: ubuntu-latest + strategy: + matrix: + py-ver-major: [ 3 ] + py-ver-minor: [ 9, 10, 11 ] + + env: + py-semver: ${{ format('{0}.{1}', matrix.py-ver-major, matrix.py-ver-minor) }} + + steps: + - uses: actions/checkout@v5 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: ${{ env.py-semver }} + cache: pip + cache-dependency-path: | + **/setup.cfg + + - run: pip install -U pip setuptools wheel typing + - run: pip install -e ".[all]" + + - run: make RUNNER=cwltool unittest-examples diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..ad4c5454 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,42 @@ +name: "CodeQL" + +on: + push: + branches: [ "main", "gh-pages", "release" ] + pull_request: + branches: [ "main" ] + schedule: + - cron: "59 14 * * 5" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ javascript, python ] + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v4 + if: ${{ matrix.language == 'javascript' || matrix.language == 'python' }} + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/gh-pages.yaml b/.github/workflows/gh-pages.yaml index fcec7837..b74cae91 100644 --- a/.github/workflows/gh-pages.yaml +++ b/.github/workflows/gh-pages.yaml @@ -12,44 +12,38 @@ jobs: # Ref: https://stackoverflow.com/questions/57989790/using-github-actions-to-publish-documentation deploy: runs-on: ubuntu-latest + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - name: Install apt packages run: | sudo apt-get install -y graphviz tree - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: '3.9' + cache: pip - - name: Upgrade pip - run: | - # pip >= 20.1 so we can use ``pip cache dir`` - python3 -m pip install --upgrade pip - - name: Get pip cache dir - id: pip-cache - run: echo "::set-output name=dir::$(pip cache dir)" - - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.pip-cache.outputs.dir }} - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - name: Install dependencies - run: python3 -m pip install -U -e .[all] + run: python3 -m pip install -U -e ".[all]" - name: pre-pull container images run: make container-pull - name: Build documentation - run: make html + run: | + mkdir -p _build/html + make html + for lang in en es pt_BR pt_PT ja zh_Hans; do + make html BUILDDIR=_build/${lang} SPHINXOPTS="-D language=${lang} -j auto" + mv _build/${lang}/html _build/html/${lang} + done - name: Deploy - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./_build/html/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d8ff220f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -services: - - docker - -language: python -python: - - 3.8 - -cache: - pip: true - -branches: - only: - - main - - /.*/ - -install: - - pip install -U pip setuptools wheel typing - - pip install -e .[all] - -script: - - make RUNNER=cwltool unittest-examples diff --git a/.zenodo.json b/.zenodo.json index b36b3818..634d5e79 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -12,7 +12,7 @@ "name": "Andrew Jesaitis" }, { - "name": "bamiwoaluko" + "name": "Bamiwo Aluko" }, { "orcid": "https://orcid.org/0000-0002-6206-4638", diff --git a/AUTHORS.md b/AUTHORS.md index 49ca6978..c5c4d8e6 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -1,7 +1,7 @@ Thank you to the following contributors (in alphabetical order by user name): * Alain Domissy (@alaindomissy) * Andrew Jesaitis (@andrewjesaitis) -* @bamiwoaluko +* Bamiwo Aluko (@bamiwoaluko) * Benjamin Carr (@BenjaminHCCarr) * Michele Mastropietro (@elehcim) * Emannuel Fernandes de Oliveira Carvalho (@emannuelOC) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0646b614..559a0293 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,12 +106,12 @@ The `dot` program from Graphviz is needed to render some of the diagrams. * For Debian/Ubuntu users: ```bash -sudo apt get install graphviz +sudo apt-get install graphviz ``` * For non-Debian/Ubuntu users, follow the directions at [the GraphViz download site](https://graphviz.org/download). ```bash # Create and activate a virtual environment -python -m venv venv +python3 -m venv venv source venv/bin/activate # update the version of pip, setuptools, and wheel (venv) pip install -U pip setuptools wheel @@ -119,12 +119,16 @@ source venv/bin/activate (venv) pip install ".[all]" # Create the HTML to visualize locally (venv) make html -(venv) open _build/index.html +(venv) open _build/html/index.html # Or you can start a serve that watches for local file changes (venv) make watch # Open in your browser ``` +You can use `udocker` or any other Docker compatible engine to build the +user guide, by setting the following environment variable: +`CWLTOOL_OPTIONS=--udocker`, or `CWLTOOL_OPTIONS=--podman` for Podman, or `CWLTOOL_OPTIONS=--singularity` for Singularity/Apptainer. + > NOTE: When you modify the packages installed with apt or pip, please verify > if the change needs to be applied to either or to both of CI and readthedocs. > ReadTheDocs builds and deploys previews. CI builds and deploys production @@ -148,7 +152,10 @@ are still working after the change. Use “tool description” not “tool wrapper” for describing the first argument given to the `cwl-runner` or `cwltool` commands. -### Code examples + +### Code Examples + +All CWL documents should be version 1.2 unless there is a very good reason otherwise. To include code into a Markdown file you have two options. For external files use the following command: @@ -182,6 +189,34 @@ If you are having trouble with links to sections or code blocks, it might be due to duplicated sections, or to spaces or other characters. To preview the generated links, use the `myst-anchors` tool. +### Troubleshooting + +General advice for troubleshooting is to increase the verbosity of Sphinx +logs. When using `make`, change your command to the following pattern: +`make SPHINXOPTS="-vvv" html`. Or if you are using `sphinx-build`, then +use the following: `sphinx-build -vvv -b html src build/`. + +It is also worth removing build directories and files such as `_build`, `build`, +and [`~/.cache/salad`](https://github.com/common-workflow-language/user_guide/issues/268#issuecomment-1276068865). +You may want to start afresh with a new Python virtual environment, +installing the dependencies from scratch. + +If running `make html` or `make watch` appears to run fine but [gets stuck +](https://github.com/common-workflow-language/user_guide/issues/268) at some +part of the process (`10%`, `33%`, `57%`, etc.) for longer than 2-5 minutes +you may have to try the following: + +1. Check if the Python dependencies installed in your Python virtual environment + have updates available (you can re-create the virtual environment, use `--upgrade` + for `pip`, or manually verify in PyPI and `pip`). +2. Use `top` or `htop` to find out if there is any `cwltool` command running. Then + try running that command individually to see what is the error message. +3. Upgrade your version of `docker` if you have [an error message]( + https://github.com/docker/compose/issues/8121#issuecomment-806055733) similar to + `docker: Failed to create the container ID file: open /tmp/....cid: no such file or directory.`. +4. Try using `udocker` instead of `docker`, by using `pip` to install it, and setting + `CWLTOOL_OPTIONS` to `--udocker`. + ## Other Resources General discussion of [Common Workflow Language][cwl-site] project diff --git a/LICENSE.md b/LICENSE.md index d3eb47a0..75596a51 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -16,9 +16,9 @@ You are free: for any purpose, even commercially. The licensor cannot revoke these freedoms as long as you follow the -license terms. +license terms: + -Under the following terms: * **Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow @@ -28,16 +28,14 @@ Under the following terms: so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. -**No additional restrictions**---You may not apply legal terms or +* **No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that: -Notices: - -* You do not have to comply with the license for elements of the + * You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. -* No warranties are given. The license may not give you all of the + * No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. @@ -55,7 +53,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -## Trademark + [cc-by-human]: https://creativecommons.org/licenses/by/4.0/ diff --git a/Makefile b/Makefile index 9f6459ec..0c85e3bb 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS = "-W" +SPHINXOPTS = # was "-W" (turn warnings into errors) SPHINXBUILD = sphinx-build SOURCEDIR = src BUILDDIR = _build @@ -25,15 +25,17 @@ watch: clean @echo @echo "Building and watching for changes in the documentation." sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" \ + -b html \ --ignore='**venv' \ --ignore='**.github' \ --ignore='*.egg-info' \ --ignore='**_includes/**/*.txt' \ - --watch='cwl' + --watch='cwl' \ + $(SPHINXOPTS) $(O) ## unittest-examples : unittest-examples: - cd src/_includes/cwl; cwltest --test=conformance-test.yml --tool=${RUNNER} + cd src/_includes/cwl; cwltest --test=cwl_tests.yml --tool=${RUNNER} ## check-json : check-json: @@ -42,6 +44,10 @@ check-json: container-pull: for container in $$(git grep dockerPull $$(git ls-files *.cwl) | awk '-F: ' '{print $$3}'); do docker pull $${container}; done +update_translations: gettext + sphinx-intl update -p _build/gettext + + .PHONY: help clean watch unittest-examples check-json Makefile # Catch-all target : route all unknown targets to Sphinx using the new diff --git a/README.md b/README.md index de079218..833d3bce 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ [![DOI for the latest version](https://zenodo.org/badge/89621457.svg)](https://zenodo.org/badge/latestdoi/89621457) -[![Syntax Check](https://app.travis-ci.com/common-workflow-language/user_guide.svg?branch=main)](https://app.travis-ci.com/common-workflow-language/user_guide) +[![CI Tests](https://github.com/common-workflow-language/user_guide/actions/workflows/ci-tests.yml/badge.svg?branch=main)](https://github.com/common-workflow-language/user_guide/actions/workflows/ci-tests.yml) + +[![Translation status](https://hosted.weblate.org/widgets/commonwl/-/user-guide/svg-badge.svg)](https://hosted.weblate.org/engage/commonwl/) This is the source of the official user guide for the Common Workflow Language standards. diff --git a/cwl/sphinx/runcmd.py b/cwl/sphinx/runcmd.py index ff8bb245..b4ea08de 100644 --- a/cwl/sphinx/runcmd.py +++ b/cwl/sphinx/runcmd.py @@ -40,10 +40,13 @@ class Singleton(_Singleton("SingletonMeta", (object,), {})): class CMDCache(Singleton): cache = {} + exclude_cache_cmd = {hash("cat output.txt")} def get(self, cmd, working_directory): h = hash(cmd) - if h in self.cache: + if h in self.exclude_cache_cmd: + return run_command(cmd, working_directory) + elif h in self.cache: return self.cache[h] else: result = run_command(cmd, working_directory) diff --git a/locales/ca/LC_MESSAGES/sphinx.po b/locales/ca/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..b13b0b9a --- /dev/null +++ b/locales/ca/LC_MESSAGES/sphinx.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "" diff --git a/locales/ca/LC_MESSAGES/user_guide.po b/locales/ca/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..70ee8d30 --- /dev/null +++ b/locales/ca/LC_MESSAGES/user_guide.po @@ -0,0 +1,3133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2024-05-17 10:02+0000\n" +"Last-Translator: Núria Queralt Rosinach \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +#, fuzzy +msgid "Licenses" +msgstr "Llicències" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "Material Didàctic" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" +"Tot el material didàctic del projecte Common Workflow Language i els canvis " +"de l’estructura estan disponibles sota la llicència [Creative Commons " +"Attribution License][cc-by-human]. El següent és un resum (i no un substitut)" +" en format llegible per persones del [text legal complet de la llicència CC " +"BY 4.0][cc-by-legal]." + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "Vostè és lliure de:" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"a **Compartir**---còpia i redistribueix el material en qualsevol medi o " +"format" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "a **Adaptar**---remescla, transforma i construeix segons el material" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "per qualsevol propòsit, fins i tot comercial." + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "" + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "" + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "" + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "" + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "" + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "" + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "" + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +msgid "merge_nested" +msgstr "" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "" + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "" + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "" + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +msgid "Setting Booleans" +msgstr "" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "" + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "" + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "" + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +msgid "Linux" +msgstr "" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +msgid "macOS" +msgstr "" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +msgid "Windows" +msgstr "" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +msgid "`true.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "" + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +msgid "`arguments.cwl`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +msgid "`arguments-job.yml`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "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][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +msgid "`sample.yml`" +msgstr "" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +msgid "`operations.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "" + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +msgid "`tar-param-job.yml`" +msgstr "" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +msgid "`linkfile.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +msgid "`1st-workflow-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +msgid "`nestedworkflows.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +msgid "`scatter-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +msgid "`wc-tool.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +msgid "`scatter-nested-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" diff --git a/locales/es/LC_MESSAGES/sphinx.po b/locales/es/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..2bdf9af4 --- /dev/null +++ b/locales/es/LC_MESSAGES/sphinx.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2023-01-26 13:55+0000\n" +"Last-Translator: Michael Crusoe \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.16-dev\n" +"Generated-By: Babel 2.10.3\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "Navegación principal" + +#: ../../src/_templates/sidebar-nav-bs.html:3 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "Sección Navegación" diff --git a/locales/es/LC_MESSAGES/user_guide.po b/locales/es/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..c38edf76 --- /dev/null +++ b/locales/es/LC_MESSAGES/user_guide.po @@ -0,0 +1,4477 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-16 11:48+0100\n" +"PO-Revision-Date: 2024-12-18 17:00+0000\n" +"Last-Translator: Julian Lopez Gordillo \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.9.2-dev\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac +msgid "Licenses" +msgstr "Licencias" + +#: ../../LICENSE.md:4 9dd9705700664b31a3f296d263b4028b +msgid "Instructional Material" +msgstr "Material didáctico" + +#: ../../LICENSE.md:6 e54324bd39cd431d91b32e338217b8c7 +msgid "" +"All Common Workflow Language project instructional material and changes " +"to the structure are also made available under the [Creative Commons " +"Attribution license][cc-by-human]. The following is a human-readable " +"summary of (and not a substitute for) the [full legal text of the CC BY " +"4.0 license][cc-by-legal]." +msgstr "" +"Todo el material instructivo del proyecto Common Workflow Language y los " +"cambios en la estructura también están disponibles bajo la [licencia " +"Creative Commons Attribution][cc-by-human]. Lo que sigue es un resumen " +"legible por humanos (y no un sustituto) del [texto legal completo de la " +"licencia CC BY 4.0][cc-by-legal]." + +#: ../../LICENSE.md:12 754f3f54aa4142ef9dac27f508dd0bca +msgid "You are free:" +msgstr "Usted es libre de:" + +#: ../../LICENSE.md:14 d2b1d5e965ef4e71b64c359549919975 +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"**Compartir**---copiar y redistribuir el material en cualquier medio o " +"formato" + +#: ../../LICENSE.md:15 fe9551ffef8149bf8da50e70318e8de8 +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**Adaptar**---remezclar, transformar y construir a partir del material" + +#: ../../LICENSE.md:17 247db3bcc7024c44a044886a29ef1414 +msgid "for any purpose, even commercially." +msgstr "para cualquier propósito, incluso comercialmente." + +#: ../../LICENSE.md:19 c04d906124854afc917707b7b4e45bb2 +msgid "" +"The licensor cannot revoke these freedoms as long as you follow the " +"license terms:" +msgstr "" +"La licenciante no puede revocar estas libertades en tanto usted siga los " +"términos de la licencia:" + +#: ../../LICENSE.md:24 551cb5ab59dd4737b1042a4ef79ffab7 +msgid "" +"**Attribution**---You must give appropriate credit (mentioning that your " +"work is derived from work that is Copyright © the Common Workflow " +"Language project, and, where practical, linking to " +"https://www.commonwl.org/%20),%20provide%20a%20[link%20to%20the%20license][cc-by-" +"human], and indicate if changes were made. You may do so in any " +"reasonable manner, but not in any way that suggests the licensor endorses" +" you or your use." +msgstr "" +"**Atribución**---Usted debe dar crédito de manera adecuada(mencionando " +"que su trabajo se deriva de un trabajo que tiene «Copyright © The Common " +"Workflow Language Project» y, cuando sea práctico, con un enlace a " +"https://www.commonwl.org/%20),%20brindar%20un%20[enlace%20a%20la%20licencia][cc-by-" +"human], e indicar si se han realizado cambios. Puede hacerlo en cualquier" +" forma razonable, pero no de forma tal que sugiera que usted o su uso " +"tienen el apoyo de la licenciante." + +#: ../../LICENSE.md:32 f6c3b2ccad494ed6811a35537fc1fb0d +msgid "" +"**No additional restrictions**---You may not apply legal terms or " +"technological measures that legally restrict others from doing anything " +"the license permits. With the understanding that:" +msgstr "" +"**No hay restricciones adicionales**---No puede aplicar términos legales " +"ni medidas tecnológicas que restrinjan legalmente a otras a hacer " +"cualquier uso permitido por la licencia. Con el entendimiento de que:" + +#: ../../LICENSE.md:36 91c95248cd7f435c909ee263a9a8bf3f +msgid "" +"You do not have to comply with the license for elements of the material " +"in the public domain or where your use is permitted by an applicable " +"exception or limitation." +msgstr "" +"No tiene que cumplir con la licencia para elementos del materiale en el " +"dominio público o cuando su uso esté permitido por una excepción o " +"limitación aplicable." + +#: ../../LICENSE.md:39 27f79b0b648b4de4b0eb3172b2dc4ae8 +msgid "" +"No warranties are given. The license may not give you all of the " +"permissions necessary for your intended use. For example, other rights " +"such as publicity, privacy, or moral rights may limit how you use the " +"material." +msgstr "" +"No se dan garantías. La licencia podría no darle todos los permisos que " +"necesita para el uso que tenga previsto. Por ejemplo, otros derechos como" +" publicidad, privacidad, o derechos morales pueden limitar la forma en " +"que utilice el material." + +#: ../../LICENSE.md:44 1e367d07720d4f9fb7ebc3149052e823 +msgid "Software" +msgstr "Software" + +#: ../../LICENSE.md:46 cf8b58d02b6943a48cb70aa78a27bea4 +msgid "" +"Except where otherwise noted, the example programs and other software " +"provided by Common Workflow Language project are made available under the" +" [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"Excepto cuando se indique lo contrario, los programas de ejemplo y otro " +"software proporcionado por el proyecto Common Workflow Language están " +"disponibles bajo la [licencia Apache 2.0][apache-2.0-license] aprobada " +"por la [OSI][osi]." + +#: ../../LICENSE.md:51 96f1e5be3e1e48db8d9a4c7693008715 +msgid "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." +msgstr "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." + +#: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 +#: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf +#: ecdd0f28d5b048d69dd1ffae2fa1f6c0 +msgid "" +"CWL is a way to describe command-line tools and connect them together to " +"create workflows. Because CWL is a specification and not a specific piece" +" of software, tools and workflows described using CWL are portable across" +" a variety of platforms that support the CWL standard." +msgstr "" +"CWL es una manera de describir herramientas de línea de comandos y " +"conectarlas para crear flujos de trabajo. Puesto que CWL es una " +"especificación y no un software concreto, las herramientas y flujos de " +"trabajo descritos usando CWL son portables en múltiples plataformas que " +"soporten el estándar CWL." + +#: ../../src/episodes.md:5 ../../src/setup.md:5 +#: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 +msgid "This page has moved" +msgstr "Esta página se ha trasladado" + +#: ../../src/episodes.md:9 f03d7cbe6670451db0896f1b674d56c7 +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. Please use the new [Table of Contents](index.md#table-of-" +"contents) to browse the User Guide." +msgstr "" +"Esta página es obsoleta y la mantenemos aquí para preservar los enlaces de " +"la Guía del Usuario antigua. Por favor utilice la nueva [Tabla de " +"Contenidos](index.md#table-of-contents) para navegar por la Guía del Usuario." + +#: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc +msgid "FAQ" +msgstr "Preguntas frecuentes" + +#: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 +msgid "How do I create non \"`File`\" types using `evalFrom`?" +msgstr "¿Cómo creo tipos que no sean \"`File`\" utilizando `evalFrom`?" + +#: ../../src/faq.md:41 8333f51e3f5945fe8963adfc6685bcb1 +msgid "How do I rename an input file?" +msgstr "¿Cómo renombro un fichero de entrada?" + +#: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 +msgid "" +"This example demonstrates how to change the name of an input file as part" +" of a tool description. This could be useful when you are taking files " +"produced from another step in a workflow, and don't want to work with the" +" default names that these files were given when they were created." +msgstr "" +"Este ejemplo muestra como cambiar el nombre de un fichero de entrada como " +"parte de la descripción de una herramienta. Esto podría ser útil cuando se " +"están tomando archivos producidos por otro paso del flujo de trabajo y no se " +"desea trabajar con los nombres predeterminados que se les asignó cuando " +"fueron creados." + +#: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 +msgid "How do I rename an output file?" +msgstr "¿Cómo renombro un fichero de salida?" + +#: ../../src/faq.md:61 207e2f97d1c44233ae3f109c5a6ec944 +msgid "" +"This example demonstrates how to change the name of an output file from " +"the default name given to it by a tool:" +msgstr "" +"Este ejemplo muestra cómo cambiar el nombre de un fichero de salida a partir " +"del nombre por defecto asignado por una herramienta:" + +#: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 +msgid "" +"By modifying the `basename` field in the `outputEval` field, CWL workflow" +" engines will rename the file using the new name for subsequent steps or " +"as a workflow-level output." +msgstr "" +"Cambiando el campo `basename` en `outputEval`, los motores de flujo de " +"trabajo CWL renombrarán el fichero utilizando el nuevo nombre para los pasos " +"posteriores o como salida a nivel de flujo de trabajo." + +#: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 +msgid "How do I reference a local script?" +msgstr "¿Cómo hago referencia a un script local?" + +#: ../../src/faq.md:88 d3e43b40d6994b32bc37067ee116418e +msgid "There are two ways to reference a local script:" +msgstr "Hay dos maneras de referenciar un script local:" + +#: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd +msgid "" +"The first method involves adding the path to a folder containing your " +"scripts to the `PATH` environment variable. This allows you to execute " +"the shell script directly (without explicitly using the `sh` or `bash` " +"commands)." +msgstr "" +"El primer método implica añadir la ruta al directorio donde se alojan los " +"scripts a la variable de entorno `PATH`. Esto permite ejecutar directamente " +"el script de shell (sin necesidad de utilizar explícitamente comandos `sh` o " +"`bash`)." + +#: ../../src/faq.md:93 34ebca4487a54ceab5d087105820e945 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "Se empieza añadiendo _shebang_ en la parte superior del fichero:" + +#: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a +msgid "" +"After that, make the script executable with the command `chmod +x " +"scriptname.sh`" +msgstr "" +"Después, se hace el script ejecutable con el comando `chmod +x scriptname.sh`" + +#: ../../src/faq.md:101 756ab4f7edcf42d3872bb86818e088c3 +msgid "" +"Finally, modify your `PATH` to add the directory where your script is " +"located. (It is good practice to use `$HOME/bin` for storing your own " +"scripts)." +msgstr "" +"Finalmente, se modifica el `PATH` para añadir el directorio en el que se " +"aloja el script. (Es buena práctica utilizar `$HOME/bin` para alojar los " +"scripts propios.)" + +#: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" +"Ahora se puede utilizar `baseCommand: scriptname.sh` para ejecutar el script " +"directamente." + +#: ../../src/faq.md:117 844938d5d2304c6cb03184b4b4b0b024 +msgid "" +"When you wish to share your work later, you can place your script in a " +"software container in the Docker format." +msgstr "" +"Cuando se desee compartir el trabajo más tarde, se puede colocar su script " +"en un contenedor de software en formato Docker." + +#: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 +msgid "" +"The second method involves including an input of `type: File` in the " +"script itself:" +msgstr "" +"El segundo método consiste en incluir una entrada con `type: File` en el " +"propio script:" + +#: ../../src/faq.md:138 ba246320fdd94a1aab4736f83718d793 +msgid "How can I set `self`-based input bindings for optional inputs?" +msgstr "" +"¿Cómo puedo configurar enlaces de entrada basados en `self` para entradas " +"opcionales?" + +#: ../../src/faq.md:140 6169b7be9af7448abcb57eaf91e1cc91 +msgid "" +"Currently, `cwltool` can't cope with missing optional inputs if their " +"input binding makes use of `self`. Below is an example workaround for " +"this, pending a more sophisticated fix." +msgstr "" +"Actualmente, `cwltool` no puede hacer frente a la falta de entradas " +"opcionales si su enlace de entrada hace uso de `self`. A continuación se " +"muestra un ejemplo de solución para esto, a la espera de una solución más " +"sofisticada." + +#: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab +msgid "How can I model a \"one-or-the-other\" parameter?" +msgstr "" + +#: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 +msgid "" +"Below is an example showing how to specify different strings to be added " +"to a command line, based on the value given to a Boolean parameter." +msgstr "" +"A continuación se muestra un ejemplo de cómo especificar diferentes cadenas " +"que se añadirán a una línea de comandos, en función del valor dado a un " +"parámetro booleano." + +#: ../../src/faq.md:188 5c9980839f404ba6aef92ef23034500f +msgid "" +"How do I connect a solo value to an input that expects an array of that " +"type?" +msgstr "" +"¿Cómo puedo conectar un valor aislado a una entrada que espera un array de " +"ese tipo?" + +#: ../../src/faq.md:190 2525baf16c1f4725b096f33fd99009cf +msgid "" +"Add a " +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +" along with [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput):" +msgstr "" +"Añade un [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/" +"Workflow.html#MultipleInputFeatureRequirement) junto con [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput):" + +#: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 +msgid "" +"The input must be an array consisting of exactly one entry for each input" +" link. If \"merge_nested\" is specified with a single link, the value " +"from the link must be wrapped in a single-item list." +msgstr "" +"La entrada debe ser una matriz que conste exactamente de una entrada por " +"cada enlace de entrada. Si se especifica \"merge_nested\" con un solo " +"enlace, el valor del enlace debe envolverse en una lista de un solo elemento." + +#: ../../src/faq.md:199 3af16c07e3f148ddb8849c94a3864158 +msgid "Which means \"create a list with exactly these sources as elements\"." +msgstr "" +"¿Qué significa \"crear una lista con exactamente estas fuentes como " +"elementos\"?" + +#: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 +msgid "" +"Or in other words: if the destination is of type `File[]` (an array of " +"`File`s) and the source is a single `File` then add " +"`MultipleInputFeatureRequirement` to the Workflow level `requirements` " +"and add `linkMerge: merge_nested` under the appropriate `in` entry of the" +" destination step." +msgstr "" +"O en otras palabras: si el destino es de tipo `File[]` (un array de `File`s) " +"y el origen es un único `File`, entonces se añade " +"`MultipleInputFeatureRequirement` al `requirements` a nivel de flujo de " +"trabajo y se añade `linkMerge: merge_nested` bajo la entrada `in` apropiada " +"del paso de destino." + +#: ../../src/faq.md:229 2f1bbb611c9c4f80b7ae0566432f2f35 +msgid "How do make an input optional? 💯" +msgstr "¿Cómo hago una entrada opcional? 💯" + +#: ../../src/faq.md:231 08a226efe5d141e68215ac77725033db +msgid "" +"To make an input parameter optional, add a question mark to the type " +"declaration." +msgstr "" +"Para crear un parámetro de entrada opcional, se añade un símbolo de " +"interrogación a la declaración del tipo." + +#: ../../src/faq.md:247 06e70a855a8f455ca0536eead77073c2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 7fda8eeb6a7f4689993ed0118c77f023 +msgid "" +"How do I specify an input that must come from a list of predefined values" +" (i.e. How do I use enum inputs) ?" +msgstr "" +"¿Cómo especifico una entrada que debe proceder de una lista de valores " +"predeterminados (esto es, cómo utilizar entradas \"enum\")?" + +#: ../../src/faq.md:250 b1934a82553b4da3b7f981e576245dd8 +msgid "" +"For command line flags that require a specific input as the argument an " +"enum type can be declared in CWL. **Specifying null here is known as long" +" form style. It does the same thing as the question mark on the other " +"inputs.**" +msgstr "" +"Para los indicadores de línea de comandos que requieren una entrada " +"específica como argumento, se puede declarar un tipo enum en CWL. **" +"Especificar null aquí se conoce como estilo de forma larga. Hace lo mismo " +"que el signo de interrogación en las otras entradas.**" + +#: ../../src/faq.md:267 17fc34fad2094f5ea60e963dabd632b8 +msgid "" +msgstr "" + +#: ../../src/faq.md:268 4d7acfbeba5b4e9cb31f08ef4b280447 +msgid "" +"How do I describe dependent or exclusive input parameters(e.g. How do I " +"use record inputs)?" +msgstr "" +"¿Cómo describo los parámetros de entrada dependientes o exclusivos (por " +"ejemplo, cómo utilizo las entradas de registro)?" + +#: ../../src/faq.md:270 949ce95c082f4a05891a55fee25d4873 +msgid "" +"For commandline flags that are either **mutually exclusive** or " +"**dependent** a special record type can be defined. You can also specify " +"null here to create optional inputs." +msgstr "" +"Para los indicadores de línea de comandos que son mutuamente excluyentes ****" +" o dependientes **** se puede definir un tipo de registro especial. También " +"se puede especificar null aquí para crear entradas opcionales." + +#: ../../src/faq.md:322 6fd3c469d11d4d52b9fbb7a3d443a8db +msgid "How do I set mutually exclusive parameters?" +msgstr "¿Cómo configuro parámetros mutuamente excluyentes?" + +#: ../../src/faq.md:324 a0687ce5c1f940538abc977cad83138f +msgid "" +"To properly set fields in a record input type, you need to pass a " +"dictionary to the input to properly set the parameters. This is done by " +"using inline JavaScript and returning the dictionary with the key of the " +"field you want to set. The source field is set to indicate the input from" +" the workflow to be used as the value." +msgstr "" +"Para establecer correctamente los campos en un tipo de entrada de registro, " +"es necesario pasar un diccionario a la entrada para establecer correctamente " +"los parámetros. Esto se hace utilizando JavaScript en línea y devolviendo el " +"diccionario con la clave del campo que desea establecer. El campo fuente se " +"establece para indicar la entrada del flujo de trabajo que se utilizará como " +"valor." + +#: ../../src/faq.md:342 12869ce2cdab4c858f3232c6158514f1 +msgid "How can I set Booleans?" +msgstr "¿Cómo puedo establecer valores de tipo Boolean?" + +#: ../../src/faq.md:344 8dcb88744e5840029de0e1bbf1c4b967 +msgid "These can be set by using the default field" +msgstr "Se pueden asignar utilizando valores \"default\"" + +#: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 +msgid "What should I do when concatenating strings in inputs?" +msgstr "¿Qué debería hacer para concatenar cadenas en las entradas?" + +#: ../../src/faq.md:351 68f74afc21d846dd9070d45dec0cc1d8 +msgid "The valueFrom field must be used instead of default." +msgstr "El campo `valueFrom` debe ser utilizado en lugar de `default`." + +#: ../../src/faq.md:359 53b633c6f8644106beb95ae567eb0708 +msgid "" +"I get `cwltool` errors due to filenames with space characters inside. " +"What should I do?" +msgstr "" +"Obtengo errores en `cwltool` debido a nombres de fichero con caracteres de " +"espacio. ¿Qué debo hacer?" + +#: ../../src/faq.md:361 7101bb5cb69e4faca4e60eabb4eb258e +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" +"`cwltool` no me permite algunos caracteres en los nombres de fichero por " +"defecto." + +#: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 +msgid "" +"For example, the filename `a space is here.txt` includes 3 space " +"characters." +msgstr "" +"Por ejemplo, el nombre de fichero `aqui hay un espacio.txt` incluye 3 " +"caracteres de espacio." + +#: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 +msgid "" +"If you can not avoid these dangerous characters, then pass `--relax-path-" +"checks` to `cwltool`." +msgstr "" +"Si no puede evitar estos caracteres peligrosos, pase `--relax-path-checks` a " +"`cwltool`." + +#: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 +msgid "" +"What should I do when I get CWL Parameter Reference error due to hyphen " +"in an input identifier?" +msgstr "" +"¿Qué debo hacer cuando obtengo un error de Referencia de Parámetro CWL " +"debido a un guión en un identificador de entrada?" + +#: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 +msgid "If `cwltool --validate` returns valid" +msgstr "Sí `cwltool --validate` devuelve válido" + +#: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 +msgid "But executing it causes an error like:" +msgstr "Pero ejecutarlo causa un error como:" + +#: ../../src/faq.md:396 2b96665acac449758b852bbe7600e007 +msgid "The file is here" +msgstr "El archivo está aquí" + +#: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec +msgid "Problem caused by `-` (hyphen character)." +msgstr "Problema causado por `-` (guión)." + +#: ../../src/faq.md:423 7780f461ca4c478b92fca893c0b0894a +msgid "To fix this error, change `-` (hyphen) to `_` (underscore):" +msgstr "Para arreglar este error, cambie el `-` (guión) por `_` (barra baja):" + +#: ../../src/faq.md:436 88df56dfff854fc68fb6ad3835a846e4 +msgid "" +"If it is not possible to change the input identifier, then you can use an" +" alternative CWL Parameter Reference syntax:" +msgstr "" +"Si no es posible cambiar el indentificador del input, entonces puedes usar " +"una sintaxis alternativa para referencias de parámetros CWL:" + +#: ../../src/faq.md:442 fc407a9e8d8c4b699d9cd14b369343b5 +msgid "How do I use CWL and cwltool with Singularity?" +msgstr "¿Cómo uso CWL y cwltool con Singularity?" + +#: ../../src/faq.md:445 239f5f81cef042b08fb8015c36b3ecad +msgid "" +"The CWL standards are built around (optional) Docker format containers. " +"The reference runner and several other CWL implementations support " +"running those Docker format containers using the Singularity engine. " +"Directly specifying a Singularity format container is not part of the CWL" +" standards." +msgstr "" +"Los estándares CWL se han construido en base a contenedores en formato " +"Docker (opcionales). El ejecutor de referencia y otras implementaciones de " +"CWL soportan ejecutar dichos contenedores en formato Docker usando el motor " +"de Singularity. Especificar directamente un contenedor en formato " +"Singularity no es parte de los estándares CWL." + +#: ../../src/faq.md:450 61641314d82b43e982e54c64c73232c5 +msgid "How do I debug the JavaScript in my CWL tool?" +msgstr "¿Como corrijo (debug) el Javascript en mi herramienta CLW?" + +#: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b +msgid "" +"You can use the --js-console option of cwltool," +" or you can try creating a JavaScript or TypeScript project for your " +"code, and load it using expressionLib, e.g.: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 1c9fb72b83c9467a9672943fb47ffe32 +msgid "Common Workflow Language User Guide" +msgstr "Guía de Usuario del Common Workflow Language" + +#: ../../src/index.md:3 aaa44578e27345e682ab44686b4da159 +#, fuzzy +msgid "" +"This guide will introduce you to writing workflows using the [Common " +"Workflow Language](https://www.commonwl.org/) (CWL) open standards. This " +"guide describes the latest specification {{ cwl_version }}." +msgstr "" +"Esta guía te presentará cómo escribir workflows (procesos de trabajo) usando " +"los estándares abiertos [Common Workflow Language](https://www.commonwl.org/)" +" (CWL). Esta guía describe la última especificación {{ cwl_version }}." + +#: ../../src/index.md:7 0adfc2adb0c74372b25d197dd3a73b8b +msgid "Contributions and Feedback are Welcome!" +msgstr "¡Aceptamos feedback y contribuciones!" + +#: ../../src/index.md:9 96c8dca812f1415db7c5c006b0c0e022 +#, fuzzy +msgid "" +"If you find that something is missing from this guide, or if you would " +"like to provide other feedback, file an Issue on the [project repository " +"for this guide][repo]. You can also suggest changes directly in a Pull " +"Request by clicking the \"Edit this page\" button at the right sidebar of" +" each page." +msgstr "" +"Si encuentras que falta algo en esta guía, o si te gustaría proporcionar " +"otros comentarios, abre un Issue en el [repositorio de esta guía][repo]. " +"También puedes sugerir cambios directamente en un Pull Request al clicar el " +"botón \"Editar esta página\" situado en la columna derecha de cada página." + +#: ../../src/index.md:16 35c50bb5c3a345b4a4ae66b2df065376 +msgid "Navigating the User Guide" +msgstr "Navegando la Guia de Usuario" + +#: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 +msgid "" +"If you are a beginner user get started with the " +"[Introduction](/introduction/index.md) section. For advanced users the " +"subsections of the [Topics](/topics/index.md) have detailed information " +"about the most common topics for CWL." +msgstr "" +"Si eres un principiante comienza con la sección de [Introduction](/" +"introduction/index.md). Para usuarios avanzados las subsecciones de " +"[Topics](/topics/index.md) tienen información detallada sobre los temas mas " +"comunes para CWL." + +#: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 +msgid "" +"The Table of Contents is displayed at the top menu and also on the left " +"sidebar. It also appears further down this page but with links to " +"subsections. The right sidebar contains links to the sections of each " +"page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece +msgid "" +"This section describes the basic concepts for users to get started on " +"working with Common Workflow Language (CWL) workflows. Readers are " +"expected to be familiar with workflow managers, YAML, and comfortable " +"with following instructions for the command-line. The other sections of " +"the user guide cover the same concepts, but in more detail. If you are " +"already familiar with CWL or you are looking for more advanced content, " +"you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf +msgid "The CWL Specification" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 +msgid "" +"The CWL specification is a document written and maintained by the CWL " +"community. The specification has different versions. The version covered " +"in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb +msgid "" +"The specification version can have up to three numbers separated by `.`s " +"(dots). The first number is the major release, used for backward-" +"incompatible changes like the removal of deprecated features. The second " +"number is the minor release, used for new features or smaller changes " +"that are backward-compatible. The last number is used for bug fixes, like" +" typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 +msgid "" +"The model used for the specification version is called Semantic " +"Versioning. See the end of this section to [learn more](#learn-more) " +"about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be +msgid "Implementations" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 +msgid "" +"An implementation of the CWL specification is any software written " +"following what is defined in a version of the specification document. " +"However, implementations may not implement every aspect of the " +"specification. CWL implementations are licensed under both Open Source " +"and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d +msgid "" +"CWL is well suited for describing large-scale workflows in cluster, cloud" +" and high performance computing environments where tasks are scheduled in" +" parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: 1c1647a3496c4251a3193f94ee4e78c8 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 854633336f4d4fc394e62c53ce022c6b +msgid "" +"A process is a computing unit that takes inputs and produces outputs. The" +" behavior of a process can be affected by the inputs, requirements, and " +"hints. There are four types of processes defined in the CWL specification" +" {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 142a847f11d7462f8bf77bfe789410ca +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 7c7567fa690043f9b4b89bdf8ca60cad +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: 7afcf087d3ea49dabf1a641a2bb71b35 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 6399939602334819a20b92b957352a8a +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 8c55b15cebf142899045f229ccc86b1e +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: ec54c0e67e894bfba2d0fbb0f87ffdf4 +msgid "" +"A command-line tool is a wrapper for a command-line utility like `echo`, " +"`ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: c88ad26efa794cbeb6f0690aa0cad5ea +msgid "" +"An expression tool is a wrapper for a JavaScript expression. It can be " +"used to simplify workflows and command-line tools, moving common parts of" +" a workflow execution into reusable JavaScript code that takes inputs and" +" produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: 946825a7ea2c450eb3e41b5548670fb7 +msgid "" +"Operation is an abstract process that also takes inputs, produces " +"outputs, and can be used in a workflow. But it is a special operation not" +" so commonly used. It is discussed in the [Operations " +"section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 44aac23f302c4178accf7e431cfbb96c +msgid "" +"The workflow is a process that contains steps. Steps can be other " +"workflows (nested workflows), command-line tools, or expression tools. " +"The inputs of a workflow can be passed to any of its steps, while the " +"outputs produced by its steps can be used in the final output of the " +"workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 +msgid "" +"The CWL specification allows for implementations to provide extra " +"functionality and specify prerequisites to workflows through " +"*requirements*. There are many requirements defined in the CWL " +"specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: 07c5789c59224ed78a3ecd03cfe872e9 +msgid "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" +" - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 6f9854ae1b884ad39f88d2f39d66cb98 +msgid "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" +" - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 23fef6de073f4da18118e4d0512670fe +msgid "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement)" +" - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: fb3762f91177401ea624d1e716d67ae6 +msgid "" +"Some CWL runners may provide requirements that are not in the " +"specification. For example, GPU requirements are supported in `cwltool` " +"through the `cwltool:CUDARequirement` requirement, but it is not part of " +"the {{ cwl_version }} specification and may not be supported by other CWL" +" runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: b6a5cd431c324078a9a4e1513a14ee28 +msgid "" +"Hints are similar to requirements, but while requirements list features " +"that are required, hints list optional features. Requirements are " +"explained in detail in the [Requirements](../topics/requirements-and-" +"hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: 88d7bad84dd341d2abb33673b8b8f250 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: bcbf5d76cf5f47b2a9691b7d2d8ef891 +msgid "" +"The FAIR principles have laid a foundation for sharing and publishing " +"digital assets, and in particular, data. The FAIR principles emphasize " +"machine accessibility and that all digital assets should be Findable, " +"Accessible, Interoperable, and Reusable. Workflows encode the methods by " +"which the scientific process is conducted and via which data are created." +" It is thus important that workflows both support the creation of FAIR " +"data and themselves adhere to the FAIR principles. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community" +" Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 +msgid "" +"CWL has roots in \"make\" and many similar tools that determine order of " +"execution, based on dependencies between tasks. However, unlike \"make\"," +" CWL tasks are isolated, and you must be explicit about your inputs and " +"outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: c0f53138bf084939a54b0a576b44199f +msgid "" +"The benefit of explicitness and isolation are flexibility, portability, " +"and scalability; tools and workflows described with CWL can transparently" +" leverage technologies such as Docker and be used with CWL " +"implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 91d6eb4984a6410ba99616b6617ba9af +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:183 +#: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 +#: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 +msgid "Learn More" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:180 +#: 7221a89559944627b4c3db37f468f72c +msgid "Semantic Versioning - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:181 +#: bccf086fc9514f76b60dc161e3a09da3 +msgid "" +"The CWL Specification page in the CWL website: " +"" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:182 +#: a5b37924c7d04ab984ff2542847afc4a +msgid "" +"The Command Line Tool Description Standard: " +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 44af015fa36644b99f07338d241d29c1 +msgid "" +"The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:184 +#: bffca993172048a4b7ab7c62637662e2 +msgid "" +"The list of Implementations in the CWL website: " +"" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:185 +#: 84c61946406347c8b138772909110d54 +msgid "PROV-O: The PROV Ontology - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:186 +#: eb0b6a62e06143eabc7b92acff9643ea +msgid "" +"CWL Operations are covered in the [Operations](../topics/operations.md) " +"section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 +msgid "Introduction" +msgstr "" + +#: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df +msgid "" +"This section will guide you through a short introduction to CWL, the " +"prerequisites for following this user guide, and some basic concepts that" +" are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e +msgid "Prerequisites" +msgstr "" + +#: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 +msgid "" +"The software and configurations listed in this section are prerequisites " +"for following this user guide. The CWL standards are implemented by many " +"different workflow runners and platforms. This list of requirements " +"focuses on the CWL reference runner, `cwltool`. You can use another CWL-" +"compatible runner or workflow system, but the results and interface may " +"look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 +msgid "CWL Implementations" +msgstr "" + +#: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 +msgid "" +"There are many implementations of the CWL standards. Some are complete " +"CWL runners, while others could be plug-ins or extensions to workflow " +"engines. We have a better explanation in the [Implementations](basic-" +"concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 209a0018e7da48f09b27dc507ba14d24 +msgid "" +"We recommend using an up-to-date operating system. You can choose any of " +"the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 +msgid "Linux" +msgstr "" + +#: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b +msgid "macOS" +msgstr "" + +#: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 +msgid "Windows" +msgstr "" + +#: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c +msgid "" +"If you are using Windows, you will have to install the Windows Subsystem " +"for Linux 2 as documented in the [`cwltool` documentation for Microsoft " +"Windows users](https://github.com/common-workflow-" +"language/cwltool/blob/main/README.rst#ms-windows-users). Your operating " +"system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 +msgid "" +"The first thing you will need for running CWL workflows is a CWL runner. " +"`cwltool` is a Python Open Source project maintained by the CWL " +"community. It is also the CWL reference runner, which means it must " +"support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:44 068f09d4d66547448693f7b9dadef497 +msgid "" +"`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend " +"using a virtual environment like `venv` or `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 +msgid "" +"Visit the `cwltool` " +"[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " +"details on installing `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a +msgid "`true.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 +msgid "" +"The `cwltool` command has an option to validate CWL tool and workflow " +"descriptions. This option will parse the CWL document, look for syntax " +"errors, and verify that the workflow descriptions are compliant with the " +"CWL standards. However, these actions will be performed without running " +"the document. To validate CWL workflows (or even a standalone command " +"line tool description like the above) pass the `--validate` option to the" +" `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac +msgid "Generic ``cwl-runner`` alias" +msgstr "" + +#: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 +msgid "" +"`cwl-runner` is an implementation-agnostic alias for any CWL compliant " +"runner. This simply means that the `cwl-runner` alias command can be " +"invoked independently, and is not reliant on a particular CWL runner " +"program name. Users can invoke `cwl-runner` instead of invoking a CWL " +"runner like `cwltool` directly. The `cwl-runner` is installed by a system" +" administrator or user to point to the preferred CWL implementation. This" +" is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:88 6dd6aa836099469381fb564d63b84f3d +msgid "" +"The CWL community publishes a Python package with the name `cwlref-" +"runner` that installs an alias for `cwltool` under the name `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 +msgid "" +"Now you can validate and run your workflow with the `cwl-runner` " +"executable, which will invoke `cwltool`. You should have the same results" +" and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c +msgid "" +"Another way to execute `cwl-runner` is by invoking the file directly. For" +" that, the first thing you need to do is copy `true.cwl` workflow into a " +"new file: `true_shebang.cwl`, and include a special first line, a " +"*shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:122 4f3cb8d1f9ce4e3d852e81aa4e0f60be +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa +msgid "" +"And finally, you can execute it directly in the command-line. On " +"execution, the program specified in the shebang (`cwl-runner`) will be " +"used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 +msgid "" +"The *shebang* is the two-character sequence `#!` at the beginning of a " +"script. When the script is executable, the operating system will execute " +"the script using the executable specified after the shebang. It is " +"considered a good practice to use `/usr/bin/env [executable]` rather than" +" using a hard-coded location, since `/usr/bin/env [executable]` looks for" +" the `[executable]` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 +msgid "Text Editor" +msgstr "" + +#: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f +msgid "" +"You can use any text editor with CWL, but for syntax highlighting we " +"recommend an editor with YAML support. Popular editors are Visual Studio " +"Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 +msgid "" +"There are extensions for Visual Studio Code and WebStorm that provide " +"integration with CWL, and features such as customized syntax highlighting" +" and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b +msgid "" +"Visual Studio Code with the Benten (CWL) plugin - " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca +msgid "" +"cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 +msgid "" +"The CWL community also maintains a list of editors and viewers: " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe +msgid "" +"`cwltool` uses Docker to run tools, workflows, and workflow steps that " +"specify a software container. Follow the instructions in the Docker " +"documentation to install it for your operating system: " +"." +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 +msgid "" +"You do not need to know how to write and build Docker containers. In the " +"rest of the user guide, we will use existing Docker images for running " +"examples, and to clarify the differences between the execution models " +"with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc +msgid "" +"`cwltool` supports running containers with Docker, Podman, udocker, and " +"Singularity. You can also use alternative container registries for " +"pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 +msgid "" +"The [Implementations](basic-concepts.md#implementations) topic in the " +"next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 +msgid "" +"This section will show you a brief overview of what CWL is, and where you" +" can learn more about it. No previous knowledge of CWL is required, but " +"you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b +msgid "" +"CWL documents are written in [YAML](../topics/index.md) (and/or JSON). " +"The example below shows a simple CWL “Hello World” workflow annotated " +"with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e +msgid "" +"The example above is just a wrapper for the `echo` command-line tool. " +"Running the workflow above with the default input values will produce the" +" same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 +msgid "" +"In CWL, there is a distinction between a command-line tool and a " +"workflow. But for the sake of simplicity, we are using the term " +"“workflow” here. You will learn more about this in the [basic concepts" +"](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 +msgid "" +"`cwltool` is an implementation of the CWL specification. It is also the " +"CWL *Reference Runner* for the specification, and it is compliant with " +"the latest version of the specification: {{ cwl_version }}. You can " +"install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 +msgid "Installing `cwltool` with `pip`." +msgstr "" + +#: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e +msgid "" +"If installing the cwltool using the pip command doesn't work for you, the" +" [prerequisites](prerequisites.md) section contains other ways to install" +" `cwltool` and a more detailed list of software and libraries used for " +"following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 +msgid "Running \"Hello World\"" +msgstr "" + +#: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd +msgid "" +"The usage of the `cwltool` command-line executable is basically `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " +"`hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:62 4306d8ad802f45c18487d932d04492fa +msgid "" +"Or you can override the default value of the input parameter `message`, " +"similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 +msgid "" +"Another way of passing values to your workflow input parameters is via an" +" *Inputs Object*. This is a file containing the input fields with their " +"corresponding values. The Inputs Objects file can be written in JSON or " +"YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 c5983ba6c86f4b749522c11cb3843911 +msgid "" +"You can use this Inputs Object file now to execute the “Hello World” " +"workflow:" +msgstr "" + +#: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 +msgid "" +"We used a similar file name for the workflow and for the Inputs Object " +"files. The *-job.json* suffix is very common in Inputs Object files, but " +"it is not a requirement. You can choose any name for your workflows and " +"Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e +msgid "Continue reading the next sections of this User Guide!" +msgstr "" + +#: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" + +#: ../../src/introduction/quick-start.md:98 1c888f1b771d49b3a257ed534b5afa0a +msgid "" +"The [`common-workflow-language` organization](https://github.com/common-" +"workflow-language) at GitHub." +msgstr "" + +#: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 +msgid "" +"[Common Workflow Language at " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" + +#: ../../src/introduction/quick-start.md:100 dc714ffd4278421b9f2417f41627722c +msgid "" +"[YAML.org](http://yaml.org/) and [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" + +#: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa +msgid "" +"The {{'[CWL Specification " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." +msgstr "" + +#: ../../src/introduction/quick-start.md:102 936a7dfab11a4f2c82c0b59964e3ea28 +msgid "" +"[Workflow management system at " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" + +#: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. The information on this page has been migrated to the " +"[FAQ](/faq.md) section of the new user guide." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 3843684b039a40dea163de951ca56738 +msgid "Additional Arguments and Parameters" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: a6fd1842b938435aa2a3c889019eec71 +msgid "" +"Sometimes tools require additional command line options that don't " +"correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: dfed0747ed544547afd364086d828c9b +msgid "" +"In this example, we will wrap the Java compiler to compile a java source " +"file to a class file. By default, \"javac\" will create the class files " +"in the same directory as the source file. However, CWL input files (and " +"the directories in which they appear) may be read-only, so we need to " +"instruct \"javac\" to write the class file to the designated output " +"directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: e690b567eae34f3f8dbdd7760e51449a +msgid "`arguments.cwl`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 4cee519b108143be89a0e47a75d7d649 +#: 79585673fd654bab9ba7c1927d7e153b +msgid "`arguments-job.yml`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: ef070ebe5f7245489b05660fb6d7c178 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 4ae43e3e841442039e4bb8c740096c56 +msgid "" +"And now invoke `cwltool` providing the tool description and the input " +"object on the command line:" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 8497291577914eb3a172c1ffb736d95d +msgid "" +"Here we use the `arguments` field to add an additional argument to the " +"command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: dc9fa5f2cbb147b1853c4042c54010f3 +msgid "" +"This example references a runtime parameter. Runtime parameters provide " +"information about the hardware or software environment when the tool is " +"actually executed. The `$(runtime.outdir)` parameter is the path to the " +"designated output directory. Other parameters include " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " +"Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe +msgid "Best Practices" +msgstr "" + +#: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +msgid "" +"The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 2292670347cd4549bc6a51e972de0ef4 +msgid "" +"No `type: string` parameters for names of input or reference " +"files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +msgid "" +"A CWL document (in conjunction with any external components like " +"`Dockerfile`s) is software code. Workflow developers should be aware that" +" the usual rules of software licensing apply to this document. For " +"example, if the workflow is shared publicly, licensing terms must be " +"clear so that a future user understands under what conditions they can " +"run the workflow, modify it and/or combine it with other workflows. For " +"this reason, please consider including a license field in the document. " +"The authors of this guide urge you to choose a pre-existing license " +"rather than trying to write your own (see the link below to learn more " +"about choosing a license), and our recommended practice is to choose a " +"license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" +"license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +msgid "" +"If possible, the license should be specified with its corresponding [SPDX" +" identifier][spdx]. Construct the metadata field for the license by " +"providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where " +"`SPDX-ID` is taken from the list of identifiers linked above. See the " +"example snippet below for guidance. For non-standard licenses without an " +"SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b +msgid "" +"Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" +"Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 5b976a5aec7d44bda55b0a019e955416 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 +msgid "" +"For more examples of providing metadata within CWL descriptions, see [the" +" Metadata and Authorship section of this User Guide](../topics/metadata-" +"and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be +msgid "" +"Include [attribution information][license-example] for the author(s) of " +"the CWL tool or workflow description. Use unambiguous identifiers like " +"[ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 87030aef02044b8283c76debab4772bf +msgid "" +"In tool descriptions, list dependencies using short name(s) under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:47 6c9eaae099fa4ca4b0986b1c4146df50 +msgid "" +"Include [SciCrunch][scicrunch] identifiers for dependencies in " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc +msgid "" +"All `input` and `output` identifiers should reflect their conceptual " +"identity. Use informative names like `unaligned_sequences`, " +"`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " +"`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a +msgid "" +"In tool descriptions, include a list of version(s) of the tool that are " +"known to work with this description under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 +msgid "" +"`format` should be specified for all input and output `File`s. " +"Bioinformatics tools should use format identifiers from [EDAM][edam-" +"example]. 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][iana-types] (also known as MIME " +"types). For non-bioinformatics tools, use or build an appropriate " +"ontology/controlled vocabulary in the same way. Please edit this page to " +"let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 +msgid "" +"Mark all input and output `File`s that are read from or written to in a " +"streaming compatible way (only once, no random-access), as `streamable: " +"true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 +msgid "" +"Each " +"[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool)" +" description should focus on a single operation only, even if the " +"(sub)command is capable of more. Don't overcomplicate your tool " +"descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d +msgid "" +"Custom types should be defined with one external YAML per type definition" +" for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 +msgid "" +"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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 d92013d662b44dbf8875e06c9dfbfd79 +msgid "" +"Use `type: enum` instead of `type: string` for elements with a fixed list" +" of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf +msgid "" +"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][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 e22fbacdb2fb4202b1bd69cfc24af5cd +msgid "" +"Give the tool description to a colleague (preferably at a different " +"institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 +msgid "" +"Complex workflows with individual components which can be abstracted " +"should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" +" their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab +msgid "" +"Software containers should be made to be conformant to the " +"[\"Recommendations for the packaging and containerizing of bioinformatics" +" software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e +msgid "" +"A command-line tool is a type of Process object that can be run by itself" +" or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, " +"`tar`, etc. The command-line tool is defined in the `baseCommand` " +"attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 +msgid "" +"A CWL command-line tool must also have `inputs` and `outputs`. The " +"following example contains a minimal example of a CWL command-line tool " +"for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f +msgid "" +"The example above uses a simplified form to define inputs and outputs. " +"You will learn more about in the [Inputs](../topics/inputs.md) and in the" +" [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 +msgid "" +"This indicates whether a process requires outgoing IPv4/IPv6 network " +"access. Starting with CWL v1.1, programs are not granted network access " +"by default, so you must include the requirement for network access in the" +" specification of your tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:84 3282a357799f4a72a6b8bace206144c4 +msgid "" +"CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 or v1.2 " +"will have `networkAccess: true` set automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: 17c5b4ee43cc4a979676ad27e473d046 +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: cd0dff10471c4ad2b84e3a0e4d7767ea +msgid "" +"Sometimes you need to create a file on the fly from input parameters, " +"such as tools that expect to read their input configuration from a file " +"rather than the command line parameters, or need a small wrapper shell " +"script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: bf4aea0a22334a1ca75cc20e937e6581 +msgid "" +"To generate such files, we can use the " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: 008f768d56b8465bb4e8f4fde15853a7 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: 252f8e897b0942a8be098481890005f3 +msgid "" +"Any [expressions](../topics/expressions.md) like `$(inputs.message)` are " +"expanded by the CWL engine before creating the file. Here, insert the " +"value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: aca24b72687c4d4d84bf9de8b71413f7 +msgid "" +"The _CWL expressions_ are independent of any _shell variables_ used later" +" during command line tool invocation. That means that any genuine need " +"for the character `$` must be **escaped** with `\\`. For instance, " +"`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " +"be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 750b3232e8754448bc2b5913539495b8 +msgid "" +"To test the above CWL tool, use this job to provide the input value " +"`message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 ../../src/topics/outputs.md:81 +#: 687c8a84bade43269f3cd767d32f9f47 81da7a18fe8d4659abc883cf43009f1f +#: d5d67eae63304ebb9b242133feacb0d1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: c4f964450d014734877fb3c968353a74 +msgid "" +"Before we run this, let us look at each step in a little more detail. The" +" base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " +"command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 9aeea5a6a4244bc7a1626e0cb7351068 +msgid "" +"`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a " +"YAML array, we need a `-` on the first line of each element of the array," +" in this case we have just one element. `entryname:` can have any value, " +"but it must match what was specified in the `baseCommand`. The final part" +" is `entry:`, this is followed by `|-` which is YAML quoting syntax, and " +"means that you are using a multiline string (without it, we would need to" +" write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 867239e9ad3d4187a2703662a0ca3976 +msgid "" +"See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " +"formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 ../../src/topics/workflows.md:198 +#: 0d7151b9f0194197bd686fe6c9c47afd 78bb40eeeda24d7b923162daa45d51a7 +#: 7b341a317347482ca86fc56119c3686f 7c637fa62cab4d0dbe670a3b72737cc9 +#: cfb4605a01dd4475aabcc086a4e65957 +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 +msgid "" +"Sometimes you may want to write your own custom types for use and reuse " +"in CWL descriptions. Use of such custom types can reduce redundancy " +"between multiple descriptions that all use the same type, and also allow " +"for additional customisation/configuration of a tool/analysis without the" +" need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 8367e38e5e7c4a298d1d87b9001aaddc +msgid "" +"The example below is a CWL description of the [biom convert format][biom]" +" tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 +msgid "" +"___Note:___ To follow the example below, you need to [download the " +"example input file](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " +"`wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 a48539920c4944898918bc90b2d4e3c9 +msgid "" +"On line 29, in `inputs:table_type`, a list of allowable table options to " +"be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 +msgid "" +"The reference to a custom type is a combination of the name of the file " +"in which the object is defined (`biom-convert-table.yaml`) and the name " +"of the object within that file (`table_type`) that defines the custom " +"type. In this case the `symbols` array from the imported `biom-convert-" +"table.yaml` file define the allowable table options. For example, in " +"`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" +" to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd +msgid "" +"In order for the custom type to be used in the CWL description, it must " +"be imported. Imports are described in " +"`requirements:SchemaDefRequirement`, as below in the example `custom-" +"types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 +msgid "" +"Note also that the author of this CWL description has also included " +"[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s," +" specifying the minimum amount of RAM and number of cores required for " +"the tool to run successfully, as well as details of the version of the " +"software that the description was written for and other useful metadata. " +"These features are discussed further in other chapters of this user " +"guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d +msgid "" +"Tools run in a restricted environment and do not inherit most environment" +" variables from the parent process. You can set environment variables " +"for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +msgid "" +"An expression tool is a type of Process that can be run by itself or as a" +" Workflow step. It executes a pure JavaScript expression. It is meant to " +"be used as a way to isolate complex JavaScript expressions that need to " +"operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +msgid "" +"Similar to the command-line tool it requires `inputs` and `outputs`. But " +"instead of `baseCommand`, it requires an " +"[`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional))" +" attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +msgid "" +"We had to use an " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" as our expression contains a JavaScript call in `.toUpperCase()`. This " +"means to tools using the expression tool that JavaScript is a " +"requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec +msgid "" +"If you need to manipulate input parameters, include the requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" and then anywhere a parameter reference is legal you can provide a " +"fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +msgid "" +"JavaScript expressions should only be used when absolutely necessary. " +"When manipulating file names, extensions, paths etc, consider whether one" +" of the [built in `File` properties][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc, could be used instead. See the [list of best " +"practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 72a0558a83964796a8c1a0eb55fd78e8 +msgid "" +"As this tool does not require any `inputs` we can run it with an (almost)" +" empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +msgid "" +"`empty.yml` contains a description of an empty JSON object. JSON objects " +"descriptions are contained inside curly brackets `{}`, so an empty object" +" is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 f6f64d57a50742b19b801c14806ee18a +msgid "" +"Note that requirements can be provided with the map syntax, as in the " +"example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 +msgid "" +"Or as an array, with each entry (in this case, only `class: " +"InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" +" describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 8c3b402c40f64880a4bd42c47b910254 +msgid "" +"Just like [parameter references](parameter-references.md), you can use " +"JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc +msgid "" +"From " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 7ab0dbd54c1441539673fa12ef96b89e +#: e76c6ece0c594fefa86b190879c5acaa +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 0209558b1013471eb708698537edaf06 +#: 4458393fdb0e451f9806e91122ea2534 594a163e08f04aa5a04a44a303a1c643 +#: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 +#: af2cdb5f66ac4fd5b8f91258f005cc62 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e +#: f9a6718845e24f46b76fcc8ab26eec7a +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 +#: 7f5ce097ca0442a6a200599342a6e24b +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 +#: 7b14686e16eb4f488659b22d67ec3bfa +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 +msgid "" +"From " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 24f27702d0684bc98e3232103510232e +#: 26a8dff7b80c4e059f1e20eef9da6203 476aa37af5214bcf963c7aab1f859273 +#: 4b0a0cd934bd41b4b55c034b91392bc7 5182e2165e44429287b4d924c2f896a4 +#: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 +#: b301751f90af4700bbada5e5b166be35 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 2c2b8db396b04ace8aa396c0a5a4858f +#: 33a9b77ce15b4910962a7f08bd2f47a3 57cba0191de3470bbe112ed2a0d3f252 +#: 6efe998094b3469eae61cfff551b1eb1 776de1ecfafc41ada7e916addd7229fd +#: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 +#: faa7d521fec240748407d03ffdb93aa0 +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a +msgid "" +"From " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 0e2052e16f6a41b8983dc64b4b3a7586 +msgid "" +"From " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 dff31dd961d540e3b8cd1247e978d60e +msgid "" +"From " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 249aba7c38ce49379b9d35e7ad81a0bf +#: 5a354eb4883948e0a2b5c96b5ae12da7 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df +#: 9e477e2cfab24861b517fe2fb52962f4 +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 9448462d104b4be5904623c85a9e16b7 +#: bf11a7a72147445c9b8e44b541e09f36 +msgid "From [`Workflow`](https://w3id.org/cwl/Workflow.html)" +msgstr "" + +#: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 7918d0661be746faaddf25ad49172f30 +#: b8439dbaa949427097e25ccb48fe15ee +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 +msgid "" +"From " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 +#: ab1ba7626eae483a8b614ee4cd5bab6f +msgid "" +"From " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 595b9ddcee734d6595c1b4b2d169dcb8 +#: 80b55c77a4384644acfc9472c3cedee0 +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 32b1a39cca1a4402af9bdc0abc4d70c8 +msgid "" +"From " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 2518d499801e4bcf82e9e4666280504d +#: 98a511d138e9497c923963c2ca5f0a0b +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b +#: e84bc5505a6549ae9aacde8cb9225403 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 +#: e698ea756fe94e99837312fb30c9f9bf +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 +#: bef90c153d4f4397b1f69f9beb38f7e6 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd +#: e2bdf4fe676346cbb4443ee54fb7419b +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 +#: 8f1665baca2e4e3b96026b50d132709a +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 +#: d169949866a24e31947dffcb94620c5f +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc +msgid "" +"From " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 21e9582891cf4b87a7ee4693663040fa 51bc6d1ccef14729a0d5e63b56d73d20 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: 29c2424fc7dc43e68c9bfee179167bb3 30f25141bcce4670882e4a5bbe4fc3e2 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f +msgid "" +"From " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 242a12ec757947db894195c9aefba818 7b26b9972f7141bf950b3bb024b0e369 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +msgid "" +"The requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" supports an `expressionLib` attribute that allows users to load external" +" JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +msgid "" +"Entries added to the `expressionLib` attribute are parsed with the " +"JavaScript engine of a CWL runner. This can be used to include external " +"files or to create JavaScript functions that can be called in other parts" +" of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 +msgid "" +"The CWL standards (versions 1.0 through 1.2) " +"[states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)" +" that the only version of JavaScript valid in CWL expressions is " +"[ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means " +"that any code that you include or write in your CWL Document must be " +"compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe +msgid "" +"For example, we can use `InlineJavascriptRequirement` and write a " +"JavaScript function inline in `expressionLib`. That function can then be " +"used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 +msgid "" +"Running this CWL workflow will invoke the JavaScript function and result " +"in the `echo` command printing the input message with capital initial " +"letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 1a4dfef06b5c4402bdb7e7dbd79eeb5d +msgid "" +"Let's move the `capitalizeWords` function to an external file, `custom-" +"functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +msgid "" +"The `custom-functions.js` file is included in the CWL document with the " +"`$include: custom-functions.js` statement. That makes the functions and " +"variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +msgid "" +"Finally, note that you can have both inline and external JavaScript code " +"in your CWL document. In this final example we have added another entry " +"to the `expressionLib` attribute with the new function " +"`createHelloWorldMessage`, that calls the `capitalizeWords` function from" +" the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 +msgid "" +"The `$include` statement can be used to include a file from the local " +"disk or from a remote location. It works with both relative and absolute " +"paths. Read the [text about " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " +"the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +msgid "" +"Tools and workflows can take " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " +"and produce them as output. We also recommend indicating the format for " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This " +"helps document for others how to use your tool while allowing you to do " +"some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 +msgid "" +"For file formats, we recommend referencing existing ontologies (like EDAM" +" in our example), reference a local ontology for your institution, or do " +"not add a file format initially for quick development before sharing your" +" tool with others. You can browse existing [IANA file format " +"listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 +msgid "" +"In the next tutorial, we explain the `$namespaces` and `$schemas` " +"section of the document in greater detail, so don't worry about these for" +" now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 c04841dbf4be4cf8a22cceca8b08bd14 +msgid "" +"Note that for added value `cwltool` can do some basic reasoning based on " +"file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: 20e97d58596a4a959ad76ec6128ac414 4e070ae9110d437bbf008b0c60a00cd5 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 +msgid "" +"Below is an example of a parameter file for the example above. We " +"encourage checking in working examples of parameter files for your tool. " +"This allows others to quickly work with your tool, starting from a " +"\"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 +msgid "`sample.yml`" +msgstr "" + +#: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 +msgid "" +"___Note:___ To follow the example below, you need to download the example" +" input file, *file-formats.bam*. The file is available from " +" and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 +msgid "" +"The `inputs` of a tool is a list of input parameters that control how to " +"run the tool. Each parameter has an `id` for the name of parameter, and " +"`type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb +msgid "" +"Available primitive types are *string*, *boolean*, *int*, *long*, " +"*float*, *double*, and *null*; complex types are *array* and *record*; in" +" addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 fbdf2c1bed3e41d7a41ec6b14d134a98 +msgid "" +"The following example demonstrates some input parameters with different " +"types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 9cc4a60d01f945aa9b4c43afcf20098b +msgid "" +"You can use `cwltool` to create a template input object. That saves you " +"from having to type all the input parameters in an input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 +msgid "" +"You can redirect the output to a file, i.e. `cwltool --make-template " +"inp.cwl > inp-job.yml`, and then modify the default values with your " +"desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 6a3edb0d259d4d7c900dd9811f978d4e +msgid "" +"Notice that \"example_file\", as a `File` type, must be provided as an " +"object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 f1d76be7ba0b48f4b605581d0a9a5c72 +msgid "" +"Next, create a whale.txt using [touch] by typing `touch whale.txt` on the" +" command line." +msgstr "" + +#: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line, using the command `cwltool inp.cwl inp-job.yml`. The " +"following boxed text describes these two commands and the expected output" +" from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 +msgid "" +"The CWL reference runner (cwltool) and other runners create temporary " +"directories with symbolic (\"soft\") links to your input files to ensure " +"that the tools aren't accidentally accessing files that were not " +"explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 +msgid "" +"The field " +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)" +" is optional and indicates whether and how the input parameter should " +"appear on the tool's command line. If `inputBinding` is missing, the " +"parameter does not appear on the command line. Let's look at each " +"example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 +msgid "" +"Boolean types are treated as a flag. If the input parameter " +"\"example_flag\" is \"true\", then `prefix` will be added to the command " +"line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d +msgid "" +"String types appear on the command line as literal values. The `prefix` " +"is optional, if provided, it appears as a separate argument on the " +"command line before the parameter . In the example above, this is " +"rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 +msgid "" +"Integer (and floating point) types appear on the command line with " +"decimal text representation. When the option `separate` is false (the " +"default value is true), the prefix and value are combined into a single " +"argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 +msgid "" +"File types appear on the command line as the path to the file. When the " +"parameter type ends with a question mark `?` it indicates that the " +"parameter is optional. In the example above, this is rendered as " +"`--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" " +"parameter were not provided in the input, nothing would appear on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 9294c07c672b414f9c3895ed70b9b4ee +msgid "" +"Input files are read-only. If you wish to update an input file, you must" +" [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f +msgid "" +"The value of `position` is used to determine where parameter should " +"appear on the command line. Positions are relative to one another, not " +"absolute. As a result, positions do not have to be sequential, three " +"parameters with positions 1, 3, 5 will result in the same command line as" +" 1, 2, 3. More than one parameter can have the same position (ties are " +"broken using the parameter name), and the position field itself is " +"optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 +msgid "" +"The `baseCommand` field will always appear in the final command line " +"before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 +msgid "" +"It is easy to add arrays of input parameters represented to the command " +"line. There are two ways to specify an array parameter. First is to " +"provide `type` field with `type: array` and `items` defining the valid " +"data types that may appear in the array. Alternatively, brackets `[]` may" +" be added after the type name to indicate that input parameter is array " +"of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 +#: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 +#: 390384208d7b4771888f164b587c7b9a edb3ae59c48945f29c3086b16a5265d3 +msgid "" +"Now invoke `cwltool` providing the tool description and the input object " +"on the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 +msgid "" +"The `inputBinding` can appear either on the outer array parameter " +"definition or the inner array element definition, and these produce " +"different behavior when constructing the command line, as shown above. In" +" addition, the `itemSeparator` field, if provided, specifies that array " +"values should be concatenated into a single argument separated by the " +"item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df +msgid "" +"Note that the arrays of inputs are specified inside square brackets `[]` " +"in `array-inputs-job.yml`. Arrays can also be expressed over multiple " +"lines, where array values that are not defined with an associated key are" +" marked by a leading `-`. This will be demonstrated in the next lesson " +"and is discussed in more detail in the [YAML Guide](yaml-" +"guide.md#arrays). You can specify arrays of arrays, arrays of records, " +"and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 +msgid "" +"Sometimes an underlying tool has several arguments that must be provided " +"together (they are dependent) or several arguments that cannot be " +"provided together (they are exclusive). You can use records and type " +"unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 ecfb1d911a84400ba3db12fd0adf9279 +msgid "" +"In the first example, you can't provide `itemA` without also providing " +"`itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba +msgid "" +"In the second example, `itemC` and `itemD` are exclusive, so only the " +"first matching item (`itemC`) is added to the command line and remaining " +"item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 e6d81d6549984689bae4533c6d01bd5b +msgid "" +"In the third example, only `itemD` is provided, so it appears on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b +msgid "" +"If you use exclusive input parameters and reference them in expressions, " +"you need to be aware that the `inputs` JavaScript object will contain one" +" of the possible, mutually-exclusive input values. Because the types of " +"these exclusive values may differ, you may need to check which type is in" +" use when you reference the properties of the `input` object." +msgstr "" + +#: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 +msgid "" +"Let's use an example that contains an exclusive `file_format` input " +"parameter that accepts `null` (i.e. no value provided), or any value from" +" an enum." +msgstr "" + +#: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +msgid "" +"Note how the JavaScript expression uses the value of the exclusive input " +"parameter without taking into consideration a `null` value. If you " +"provide a valid value, such as `fasta` (one of the possible values of the" +" enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +msgid "" +"However, if you do not provide any input value, then `file_format` will " +"be evaluated to `null`, which does not match the expected type for the " +"output field (a `string`), resulting in failure when running your " +"workflow." +msgstr "" + +#: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 +msgid "" +"To correct it, you should explicitly handle the possibility of a `null` " +"value. For example, the expression could be changed to " +"`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " +"none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 +msgid "" +"Here, the boolean “or” operator `||` in JavaScript is used for its " +"_short-circuiting_ property. If `inputs.file_format` is “true” in a " +"boolean context (e.g. a valid non-empty string from the enum), the " +"evaluation of the expression stops at the first operand of `||`; it " +"“short-circuits”. If however `inputs.file_format` is `null`, the whole " +"expression’s value becomes that of the second operand, which is why a " +"reasonable default can be provided there." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: 723c2232310c4276aeac2bd6728d2912 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: 4d81aac1830045229e5c60c7959074d8 +msgid "" +"Implementation extensions not required for correct execution (for " +"example, fields related to GUI presentation) and metadata about the tool " +"or workflow itself (for example, authorship for use in citations) may be " +"provided as additional fields on any object. Such extensions fields (e.g." +" `format: edam:format_2572`) can use a namespace prefix listed in the " +"`$namespaces` section of the document (e.g. edam: " +"http://edamontology.org/)%20as%20described%20in%20the%20[Schema%20Salad%20specification" +"][schema-salad]. Once you add the namespace prefix, you can access it " +"anywhere in the document as shown below. Otherwise, one must use full " +"URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 368f8993ae9d401488081d74ae5acd49 +msgid "" +"For all developers, we recommend the following minimal metadata for your " +"tool and workflows. This example includes metadata allowing others to " +"cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: c80f2b180ca74afb8a1fc18f8686304b +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: 37b07ea9b7124842b8ba3040f70308e9 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: 1cd5989ade6741aabe625c13bed3c8ed +msgid "" +"For those that are highly motivated, it is also possible to annotate your" +" tool with a much larger amount of metadata. This example includes EDAM " +"ontology tags as keywords (allowing the grouping of related tools), hints" +" at hardware requirements in order to use the tool, and a few more " +"metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: ae7369ba14404d23b72d1ef30dcd4153 +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e +msgid "" +"An Operation is a type of CWL process, just like a workflow, a command-" +"line tool, or an expression tool. It is a step of a workflow that " +"specifies inputs and outputs, but it does not provide enough information " +"to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 047b09455db64524a71c47ab5192039f +msgid "" +"You can create operations to visualize a workflow during development, " +"before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 +msgid "`operations.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 +msgid "" +"The `uppercase` step of the workflow is an operation. It can appear where" +" a command line tool or an expression is expected. You can also plot it " +"with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 +msgid "" +"The output of the command above can be rendered with a Graphviz renderer." +" The following image is rendered with the Sphinx `{graphviz}` directive " +"(this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:56 c07e3ff02ac14ffb89bcbd1b30f3f3fd +msgid "" +"The operation file will fail to run with `cwltool` because `cwltool` " +"lacks the necessary information to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 +msgid "" +"CWL runners may come up with ways to bind operations to concrete steps. A" +" CWL runner could, for instance, use abstract operations with ID's that " +"correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 +msgid "" +"The `outputs` of a tool is a list of output parameters that should be " +"returned after running the tool. Each parameter has an `id` for the name" +" of parameter, and `type` describing what types of values are valid for " +"that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b +msgid "" +"When a tool runs under CWL, the starting working directory is the " +"designated output directory. The underlying tool or script must record " +"its results in the form of files created in the output directory. The " +"output parameters returned by the CWL tool are either the output files " +"themselves, or the result of examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 9845e517f7d848e5b59a97880ca6999f +msgid "" +"The following example demonstrates how to return a file that has been " +"extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b +msgid "" +"In previous examples, the `baseCommand` was just a string, with any " +"arguments passed as CWL inputs. Instead of a single string, we can use an" +" _array of strings_ as the value of `baseCommand`. The first element of " +"the array is the command to run, and any subsequent elements are " +"mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f +msgid "Next, create a tar file for the example." +msgstr "" + +#: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 +msgid "" +"And now invoke `cwltool` with the tool description and the input object " +"on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 +msgid "" +"The field " +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" +" describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 +msgid "" +"The " +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) " +"field consists of the pattern to match file names in the output " +"directory. This can simply be the file's exact name. But if you don't " +"know the name of the file in advance, you can use a wildcard pattern like" +" `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 +msgid "" +"To capture a tool's standard output stream, add the " +"[`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with " +"the name of the file where the output stream should go. Then add `type: " +"stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 +msgid "" +"You can also capture multiple output files into an array of files using " +"`glob`." +msgstr "" + +#: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 +msgid "" +"As described in the [YAML Guide](yaml-guide.md#arrays), the array of " +"expected outputs is specified in `array-outputs-job.yml` with each entry " +"marked by a leading `-`. This format can also be used in CWL descriptions" +" to mark entries in arrays, as demonstrated in several of the upcoming " +"sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 +msgid "" +"In a previous example, we extracted a file using the \"tar\" program. " +"However, that example was very limited because it assumed that the file " +"we were interested in was called \"hello.txt\", and this was written into" +" the `.cwl` file. This is not the best way to do this, as the " +"\"hello.txt\" filename may vary or be dependent on the input file(s) " +"used. To avoid this we can specify the name of the file we want in the " +"job parameters file (`.yml`). In this example, you will see how to " +"reference the value of input parameters dynamically from other fields, " +"which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 +msgid "`tar-param-job.yml`" +msgstr "" + +#: ../../src/topics/parameter-references.md:25 9b1e2f1a23ea4fe2af97ef5108f33376 +msgid "" +"Create your input files and invoke `cwltool` with the tool description " +"and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 06926a516ae6432d96e3eaa62202cd86 +msgid "" +"Certain fields permit parameter references which are enclosed in " +"`$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 +msgid "" +"References are written using a subset of Javascript syntax. In this " +"example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " +"`$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 56ead1c8d45c43bdbcbc6f7cbb8e1e92 +msgid "" +"The value of the \"inputs\" variable is the input object provided when " +"the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d +msgid "" +"Note that because `File` parameters are objects, to get the path to an " +"input file you must reference the path field on a file object; to " +"reference the path to the tar file in the above example you would write " +"`$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 +msgid "" +"From " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 f592619e4b2c497e80cd75da0548cf07 +msgid "" +"From " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 81ea71a35020421187dc18ddd151c62f +msgid "" +"From " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 ea0117748adc4324901024f21eed04ac +msgid "" +"From " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 3a30e73176cf4e4eb9f26770a176b9c9 +msgid "" +"From " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 7008a1ff1af54fda827637e787e5c7dd +msgid "" +"From " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:92 0ae32d1db5f9452bbfcbbc4719b0b9f1 +msgid "" +"From " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 7e1907ff15c74f488187531de336eccf +msgid "" +"From " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 678874668fed4f4d80a1b0990e183e2f +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: e2882880886046ac88ae1c0d414366d1 +msgid "" +"From " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: 05324169d8ae48d4a1abe3a0ac07c891 +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: 1f5b72d7ec82442ba29baa14a03f061b +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: e708866921ea49d69d3c2a32d63ea468 +msgid "" +"Often, tool descriptions will be written for a specific version of a " +"software. To make it easier for others to use your descriptions, you can " +"include a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)" +" field in the `hints` section. This may also help to avoid confusion " +"about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 6f722d6fd54f485fa964076c8d08938b +msgid "" +"In this example, the software requirement being described is InterProScan" +" version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 5c1236ec57c64079bfb7c779524b12ad +msgid "" +"Depending on your CWL runner, these hints may be used to check that the " +"required software is installed and available before the job is run. To " +"enable these checks with the reference implementation, use the " +"[dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 1a8b8aadf1c64e87b8b670e288bc14bc +msgid "" +"As well as a version number, a unique resource identifier (URI) for the " +"tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be" +" looked up in the [SciCrunch][scicrunch] registry, which provides a " +"portal for finding, tracking, and referring to scientific resources " +"consistently. If you want to specify a tool as a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)," +" search for the tool on SciCrunch and use the RRID that it has been " +"assigned in the registry. (Follow this [Adding a Resource Tutorial" +"][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID " +"to refer to the tool (via [identifiers.org][identifiers]) in the `specs` " +"field of your requirement description. Other good choices, in order of " +"preference, are to include the DOI for the main tool citation and the URL" +" to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a +msgid "" +"Normally, input files are located in a read-only directory separate from " +"the output directory. This causes problems if the underlying tool " +"expects to write its output files alongside the input file in the same " +"directory. You use " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)" +" to stage input files into the output directory. In this example, we use " +"a JavaScript expression to extract the base name of the input file from " +"its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 +msgid "`linkfile.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 +msgid "Troubleshooting" +msgstr "" + +#: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 +msgid "" +"In this section you will find ways to troubleshoot when you have problems" +" executing CWL. We focus on `cwltool` here but some of these techniques " +"may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 +msgid "" +"You can use the `--cachedir` option when running a workflow to tell " +"`cwltool` to cache intermediate files (files that are not input nor " +"output files, but created while your workflow is running). By default, " +"these files are created in a temporary directory but writing them to a " +"separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +msgid "" +"In the following example `troubleshooting-wf1.cwl` we have two steps, " +"`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " +"World\" | rev`, which would print the message \"Hello World\" reversed, " +"i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**," +" where instead of executing the `rev` command it tries to execute `revv`," +" which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +msgid "" +"Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` " +"value (`cwltool` will create the directory for you if it does not exist " +"already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +msgid "" +"The workflow is in the `permanentFail` status due to `step_b` failing to " +"execute the non-existent `revv` command. The `step_a` was executed " +"successfully and its output has been cached in your `cachedir` location. " +"You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +msgid "" +"Each workflow step has received a unique ID (the long value that looks " +"like a hash). The `${HASH}.status` files display the status of each step " +"executed by the workflow. And the `step_a` output file `stdout.txt` is " +"visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +msgid "" +"Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev`" +" in the `step_b`). After fixing the typo, when you execute `cwltool` with" +" the same arguments as the previous time, note that now `cwltool` output " +"contains information about pre-cached outputs for `step_a`, and about a " +"new cache entry for the output of `step_b`. Also note that the status of " +"`step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +msgid "" +"In this example the workflow step `step_a` was not re-evaluated as it had" +" been cached, and there was no change in its execution or output. " +"Furthermore, `cwltool` was able to recognize when it had to re-evaluate " +"`step_b` after we fixed the executable name. This technique is useful for" +" troubleshooting your CWL documents and also as a way to prevent " +"`cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a +msgid "Using Containers" +msgstr "" + +#: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +msgid "" +"[Docker][docker] containers simplify software installation by providing a" +" complete known-good runtime for software and its dependencies. However," +" containers are also purposefully isolated from the host system, so in " +"order to run a tool inside a Docker container there is additional work to" +" ensure that input files are available inside the container and output " +"files can be recovered from the container. A CWL runner can perform this" +" work automatically, allowing you to use Docker to simplify your software" +" management while avoiding the complexity of invoking and managing Docker" +" containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +msgid "" +"One of the responsibilities of the CWL runner is to adjust the paths of " +"input files to reflect the location where they appear inside the " +"container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +msgid "" +"This example runs a simple Node.js script inside a Docker container which" +" will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +msgid "" +"Before we run this, let's just break it down and see what some bits do. " +"Most of this has been explained in previous sections, the only part that " +"is really new is the " +"[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" +" section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +msgid "" +"`baseCommand: node` tells CWL that we will be running this command using " +"the Node Js runtime that is meant for Javascript files. We then need to " +"specify some `hints` for how to find the container we want. In this case" +" we list just our requirements for the docker container in " +"`DockerRequirements`. The `dockerPull:` parameter takes the same value " +"that you would pass to a `docker pull` command. That is, the name of the " +"container image (you can even specify the tag, which is good idea for " +"best practices when using containers for reproducible research). In this " +"case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 54cade4978ec463bbb5c0d8c08e27adb +msgid "" +"Create a Javascript file named \"hello.js\" and invoke `cwltool` " +"providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +msgid "" +"Notice the CWL runner has constructed a Docker command line to run the " +"script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +msgid "" +"In this example, the path to the script `hello.js` is " +"`/home/me/cwl/user_guide/hello.js` outside the container but " +"`/var/lib/cwl/job369354770_examples/hello.js` inside the container, as " +"reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 +msgid "" +"A workflow is a CWL processing unit that executes command-line tools, " +"expression tools, or workflows (sub-workflows) as steps. It must have " +"`inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +msgid "" +"The CWL document `echo-uppercase.cwl` defines a workflow that runs the " +"command-line tool, and the expression tool showed in the earlier " +"examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +msgid "" +"A command-line tool or expression tool can also be written directly in " +"the same CWL document as the workflow. For example, we can rewrite the " +"`echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +msgid "" +"Having separate files helps with modularity and code organization. But it" +" can be helpful writing everything in a single file for development. " +"There are other ways to combine multiple files into a single file (e.g. " +"`cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 +msgid "" +"For a sub-workflows you need to enable the requirement " +"`SubworkflowFeatureRequirement`. It is covered in another section of this" +" user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 +msgid "" +"This workflow extracts a java source file from a tar file and then " +"compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 +#: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +msgid "" +"[![Visualization of 1st-" +"workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 5ff059fc8ae6471c8ea86dab7e5a93f5 +msgid "" +"Use a YAML or a JSON object in a separate file to describe the input of a" +" run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 +msgid "`1st-workflow-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:191 4a4db7da861547639524083bf35ccfc0 +msgid "" +"Next, create a sample Java file and add it to a tar file to use with the " +"command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 +msgid "" +"The `cwlVersion` field indicates the version of the CWL spec used by the " +"document. The `class` field indicates this document describes a " +"workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +msgid "" +"The `inputs` section describes the inputs of the workflow. This is a " +"list of input parameters where each parameter consists of an identifier " +"and a data type. These parameters can be used as sources for input to " +"specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +msgid "" +"The `outputs` section describes the outputs of the workflow. This is a " +"list of output parameters where each parameter consists of an identifier " +"and a data type. The `outputSource` connects the output parameter " +"`classfile` of the `compile` step to the workflow output parameter " +"`compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +msgid "" +"The `steps` section describes the actual steps of the workflow. In this " +"example, the first step extracts a file from a tar file, and the second " +"step compiles the file from the first step using the java compiler. " +"Workflow steps are not necessarily run in the order they are listed, " +"instead the order is determined by the dependencies between steps (using " +"`source`). In addition, workflow steps which do not depend on one " +"another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +msgid "" +"The first step, `untar` runs `tar-param.cwl` (described previously in " +"[Parameter References](parameter-references.md)). This tool has two input" +" parameters, `tarfile` and `extractfile` and one output parameter " +"`extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +msgid "" +"The ``in`` section of the workflow step connects these two input " +"parameters to the inputs of the workflow, `tarball` and " +"`name_of_file_to_extract` using `source`. This means that when the " +"workflow step is executed, the values assigned to `tarball` and " +"`name_of_file_to_extract` will be used for the parameters `tarfile` and " +"`extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +msgid "" +"The `out` section of the workflow step lists the output parameters that " +"are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 +msgid "" +"The second step `compile` depends on the results from the first step by " +"connecting the input parameter `src` to the output parameter of `untar` " +"using `untar/extracted_file`. It runs `arguments.cwl` (described " +"previously in [Additional Arguments and Parameters](additional-arguments-" +"and-parameters.md)). The output of this step `classfile` is connected to " +"the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +msgid "" +"Workflows are ways to combine multiple tools to perform a larger " +"operations. We can also think of a workflow as being a tool itself; a CWL" +" workflow can be used as a step in another CWL workflow, if the workflow " +"engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 +msgid "" +"Here's an example workflow that uses our `1st-workflow.cwl` as a nested " +"workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 +msgid "`nestedworkflows.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 +msgid "" +"This two-step workflow starts with the `create-tar` step which is " +"connected to the `compile` step in orange; `compile` is another workflow," +" diagrammed on the right. In purple we see the fixed string " +"`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda +msgid "" +" \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 +msgid "" +"A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, " +"its CWL file is included with `run`. The workflow inputs (`tarball` and " +"`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " +"mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +msgid "" +"Our `1st-workflow.cwl` was parameterized with workflow inputs, so when " +"running it we had to provide a job file to denote the tar file and " +"`*.java` filename. This is generally best-practice, as it means it can be" +" reused in multiple parent workflows, or even in multiple steps within " +"the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 +msgid "" +"Here we use `default:` to hard-code `\"Hello.java\"` as the " +"`name_of_file_to_extract` input, however our workflow also requires a tar" +" file at `tarball`, which we will prepare in the `create-tar` step. At " +"this point it is probably a good idea to refactor `1st-workflow.cwl` to " +"have more specific input/output names, as those also appear in its usage " +"as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +msgid "" +"It is also possible to do a less generic approach and avoid external " +"dependencies in the job file. So in this workflow we can generate a hard-" +"coded `Hello.java` file using the previously mentioned " +"`InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee +msgid "" +"In this case our step can assume `Hello.java` rather than be " +"parameterized, so we can use hardcoded values `hello.tar` and " +"`Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c +msgid "" +"Did you notice that we didn't split out the `tar --create` tool to a " +"separate file, but rather embedded it within the CWL Workflow file? This " +"is generally not best practice, as the tool then can't be reused. The " +"reason for doing it in this case is because the command line is hard-" +"coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 +msgid "" +"In this example we had to prepare a tar file outside, but only because " +"our inner workflow was designed to take that as an input. A better " +"refactoring of the inner workflow would be to take a list of Java files " +"to compile, which would simplify its usage as a tool step in other " +"workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 +msgid "" +"Nested workflows can be a powerful feature to generate higher-level " +"functional and reusable workflow units - but just like for creating a CWL" +" Tool description, care must be taken to improve its usability in " +"multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d +msgid "" +"Now that we know how to write workflows, we can start utilizing the " +"`ScatterFeatureRequirement`. This feature tells the runner that you wish " +"to run a tool or workflow multiple times over a list of inputs. The " +"workflow then takes the input(s) as an array and will run the specified " +"step(s) on each element of the array as if it were a single input. This " +"allows you to run the same workflow on multiple inputs without having to " +"generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +msgid "" +"The most common reason a new user might want to use scatter is to perform" +" the same analysis on different samples. Let's start with a simple " +"workflow that calls our first example (`hello_world.cwl`) and takes an " +"array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 +msgid "`scatter-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +msgid "" +"Aside from the `requirements` section including " +"`ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 +msgid "" +"First of all, notice that the main workflow level input here requires an " +"array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +msgid "" +"Here we've added a new field to the step `echo` called `scatter`. This " +"field tells the runner that we'd like to scatter over this input for this" +" particular step. Note that the input name listed after scatter is the " +"one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 +msgid "" +"For our first scatter, it's as simple as that! Since our tool doesn't " +"collect any outputs, we still use `outputs: []` in our workflow, but if " +"you expect that the final output of your workflow will now have multiple " +"outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 +msgid "Using the following input file:" +msgstr "" + +#: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d +msgid "" +"As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply" +" calls the command `echo` on a message. If we invoke `cwltool scatter-" +"workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f +msgid "" +"You can see that the workflow calls echo multiple times on each element " +"of our `message_array`. Ok, so how about if we want to scatter over two " +"steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 99b5c8a845ab4beb8524a69c051e2d42 +msgid "" +"Let's perform a simple echo like above, but capturing `stdout` by adding " +"the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 173bd28708834f11a2a1366b579b7ad7 +msgid "" +"And add a second step that uses `wc` to count the characters in each " +"file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 +msgid "`wc-tool.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +msgid "" +"Now, how do we incorporate scatter? Remember the scatter field is under " +"each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +msgid "" +"Here we have placed the scatter field under each step. This is fine for " +"this example since it runs quickly, but if you're running many samples " +"for a more complex workflow, you may wish to consider an alternative. " +"Here we are running scatter on each step independently, but since the " +"second step is not dependent on the first step completing all languages, " +"we aren't using the scatter functionality efficiently. The second step " +"expects an array as input from the first step, so it will wait until " +"everything in step one is finished before doing anything. Pretend that " +"`echo Hello World!` takes 1 minute to perform, `wc -c` on the output " +"takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, " +"and `wc` on that output takes 3 minutes. Even though `echo Hello World!` " +"could finish in 4 minutes, it will actually finish in 8 minutes because " +"the first step must wait on `echo Hallo welt!`. You can see how this " +"might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 +msgid "" +"Ok, so how do we scatter on steps that can proceed independent of other " +"samples? Remember from [Nested Workflows](#nested-workflows), that we can" +" make an entire workflow a single step in another workflow! Convert our " +"two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 +msgid "`scatter-nested-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:519 508ef2240879445594b0f262ed11a01d +msgid "" +"Now the scatter acts on a single step, but that step consists of two " +"steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef +msgid "Conditional Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 +msgid "" +"This workflow contains a conditional step and is executed based on the " +"input. This allows workflows to skip additional steps based on input " +"parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 4a4a2b2b99b44d449adb246cebce0a26 +msgid "" +"The first thing you'll notice is that this workflow is only compatible " +"for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 +msgid "" +"The first step of the workflow (step1) contains two input properties and " +"will execute foo.cwl when the conditions are met. The new property `when`" +" is where the condition validation takes place. In this case only when " +"`in1` from the workflow contains a value `< 1` this step will be " +"executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf +msgid "" +"Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value" +" will pass the first conditional step and will therefore be executed and " +"is shown in the log by `INFO [step step1] start` whereas the second step " +"is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 7cd80b31a94543358ece7a2d413adce9 +msgid "" +"When a value of 3 is given the first conditional step will not be " +"executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 9679e32f65e0482a8b083387e4a18c1f +msgid "" +"If no conditions are met for example when using `--val 2` the workflow " +"will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 +msgid "YAML Guide" +msgstr "" + +#: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb +msgid "" +"[YAML][yaml] is a file format designed to be readable by both computers " +"and humans. This guide introduces the features of YAML that are relevant " +"when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d +msgid "Contents" +msgstr "" + +#: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 +msgid "[JSON Style](#json-style)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 +msgid "Key-Value Pairs" +msgstr "" + +#: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe +msgid "" +"Fundamentally, a file written in YAML consists of a set of _key-value " +"pairs_. Each pair is written as `key: value`, where whitespace after the " +"`:` is required. Key names in CWL files should not contain whitespace - " +"[_camelCase_][camelCase] is used for multi-word key names that have " +"special meaning in the CWL specification and underscored key names " +"otherwise. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 +msgid "" +"The YAML above defines four keys - `first_name`, `last_name`, " +"`age_years`, and `home` - with their four respective values. Values can " +"be character strings, numeric (integer, floating point, or scientific " +"representation), Boolean (`true` or `false`), or more complex nested " +"types (see below)." +msgstr "" + +#: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 +msgid "" +"Values may be wrapped in quotation marks, but be aware that this may " +"change the way that they are interpreted i.e. `\"1234\"` will be treated " +"as a character string , while `1234` will be treated as an integer. This " +"distinction can be important, for example when describing parameters to a" +" command: in CWL all parts of `baseCommand` must be strings so, if you " +"want to specify a fixed numeric value to a command, make sure that you " +"wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 +msgid "" +"You may use `#` to add comments to your CWL and parameter files. Any " +"characters to the right of ` #` will be ignored by the program " +"interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +msgid "" +"If there is anything on the line before the comment, be sure to add at " +"least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +msgid "Maps" +msgstr "" + +#: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e +msgid "" +"When describing a tool or workflow with CWL, it is usually necessary to " +"construct more complex, nested representations. Referred to as _maps_, " +"these hierarchical structures are described in YAML by providing " +"additional key-value pairs as the value of any key. These pairs " +"(sometimes referred to as \"children\") are written on new lines under " +"the key to which they belong (the \"parent\"), and should be indented " +"with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 +msgid "" +"The YAML above illustrates how to build up complex nested object " +"descriptions relatively quickly. The `inputs` map contains a single key, " +"`example_flag`, which itself contains two keys, `type` and " +"`inputBinding`, while one of these children, `inputBinding`, contains a " +"further two key-value pairs (`position` and `prefix`). See the " +"[Arrays](#arrays) section below for more information about providing " +"multiple values/key-value pairs for a single key. For comparison with the" +" example YAML above, here is a graphical representation of the `inputs` " +"object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 +msgid "" +"In certain circumstances, it is necessary to provide multiple values or " +"objects for a single key. As we've already seen in the [Maps](#maps) " +"section above, more than one key-value pair can be mapped to a single " +"key. However, it is also possible to define multiple values for a key " +"without having to provide a unique key for each value. We can achieve " +"this with an _array_, where each value is defined on its own line and " +"preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc +msgid "JSON Style" +msgstr "" + +#: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b +msgid "" +"YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and " +"arrays can also be defined in YAML using the native JSON syntax. For " +"example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 +msgid "and:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +msgid "" +"Native JSON can be useful in indicating where a field is intentionally " +"left empty (such as `[]` for an empty array), as well as where it makes " +"more sense for the values to be located on the same line (For example, " +"when providing option flags and their values in a shell command). " +"However, as the second example above shows, it can severely affect the " +"readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 +msgid "Reference" +msgstr "" + +#: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 +msgid "" +"The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for" +" us while we wrote this guide, though it also covers features that are " +"not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 +msgid "Tutorials" +msgstr "" + +#: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae +msgid "" +"This is a list of tutorials provided by the CWL community. Use the `Edit " +"this page` link in the menu if you would like to add another tutorial to " +"the list." +msgstr "" + +#: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d +msgid "Beginner Tutorials" +msgstr "" + +#: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e +msgid "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-" +"tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 e640316669104239970794191b6da38b +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" + +#~ msgid "Non \"`File`\" Types Using `evalFrom`" +#~ msgstr "" + +#~ msgid "Rename an Input File" +#~ msgstr "" + +#~ msgid "Rename an Output File" +#~ msgstr "" + +#~ msgid "Referencing a Local Script" +#~ msgstr "" + +#~ msgid "" +#~ "The first method involves adding the " +#~ "folder containing your scripts to the" +#~ " `PATH` environment variable. This allows" +#~ " you to run the shell script " +#~ "directly without using `sh` or `bash`" +#~ " commands." +#~ msgstr "" + +#~ msgid "In CWL, everything must be directly stated." +#~ msgstr "" + +#~ msgid "Setting `self`-based Input Bindings for Optional Inputs" +#~ msgstr "" + +#~ msgid "Model a \"one-or-the-other\" Parameter" +#~ msgstr "" + +#~ msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +#~ msgstr "" + +#~ msgid "" +#~ "Using " +#~ "[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +#~ " along with [`linkMerge: " +#~ "merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +#~ msgstr "" + +#~ msgid "Which means \"create a list with exactly these sources as elements\"" +#~ msgstr "" + +#~ msgid "Optional Inputs 💯" +#~ msgstr "" + +#~ msgid "Enum Inputs ⚜️" +#~ msgstr "" + +#~ msgid "Record Inputs 📀" +#~ msgstr "" + +#~ msgid "Setting Mutually Exclusive Parameters" +#~ msgstr "" + +#~ msgid "Setting Booleans" +#~ msgstr "" + +#~ msgid "Concatenating Strings in Inputs" +#~ msgstr "" + +#~ msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +#~ msgstr "" + +#~ msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +#~ msgstr "" + +#~ msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +#~ msgstr "" + +#~ msgid "Use CWL and cwltool with Singularity" +#~ msgstr "" + +#~ msgid "Debug JavaScript Expressions" +#~ msgstr "" + +#~ msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +#~ msgstr "" + +#~ msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +#~ msgstr "" + +#~ msgid "" +#~ "`InitialWorkDirRequirement` - controls staging " +#~ "files in the input directory." +#~ msgstr "" + +#~ msgid "" +#~ "The FAIR principles have laid a " +#~ "foundation for sharing and publishing " +#~ "digital assets, and in particular, data." +#~ " The FAIR principles emphasize machine " +#~ "accessibility and that all digital " +#~ "assets should be Findable, Accessible, " +#~ "Interoperable, and Reusable. Workflows encode" +#~ " the methods by which the scientific" +#~ " process is conducted and via which" +#~ " data are created. It is thus " +#~ "important that workflows support the " +#~ "creation of FAIR data and adhere " +#~ "to the FAIR principles. — [FAIR " +#~ "Computational " +#~ "Workflows](https://workflows.community/groups/fair/), Workflows" +#~ " Community Initiative." +#~ msgstr "" + +#~ msgid "" +#~ "If you are using Windows, you will" +#~ " have to install the [Windows " +#~ "Subsystem for Linux 2](https://learn.microsoft.com" +#~ "/en-us/windows/wsl/install) (WSL2). Visit the " +#~ "`cwltool` [documentation](https://github.com/common-" +#~ "workflow-language/cwltool/blob/main/README.rst#ms-windows-" +#~ "users) for details on installing WSL2." +#~ " Your operating system also needs " +#~ "internet access and a recent version " +#~ "of Python (3.6+)." +#~ msgstr "" + +#~ msgid "" +#~ "`cwltool` can be installed with `pip`." +#~ " We recommend using a virtual " +#~ "environment like `venv` or `conda`. The" +#~ " following commands will create and " +#~ "activate a Python virtual environment " +#~ "using the `venv` module, and install " +#~ "`cwltool` in that environment:" +#~ msgstr "" + +#~ msgid "Installing `cwltool` with `pip` and `venv`." +#~ msgstr "" + +#~ msgid "" +#~ "Visit the `cwltool` " +#~ "[documentation](https://github.com/common-workflow-" +#~ "language/cwltool#install) for other ways to" +#~ " install `cwltool` with `apt` and " +#~ "`conda`." +#~ msgstr "" + +#~ msgid "Cwl-runner Python Module" +#~ msgstr "" + +#~ msgid "" +#~ "The CWL community publishes a Python " +#~ "package with the name `cwlref-runner`" +#~ " that installs an alias for `cwltool`" +#~ " under the name `cwl-runner`" +#~ msgstr "" + +#~ msgid "" +#~ "The *shebang* is the two-character " +#~ "sequence `#!` at the beginning of " +#~ "a script. When the script is " +#~ "executable, the operating system will " +#~ "execute the script using the executable" +#~ " specified after the shebang. It is" +#~ " considered a good practice to use" +#~ " `/usr/bin/env ` rather than " +#~ "using a hard-coded location, since " +#~ "`/usr/bin/env ` looks for the " +#~ "`` program in the system " +#~ "`PATH`," +#~ msgstr "" + +#~ msgid "" +#~ "The usage of the `cwltool` command-" +#~ "line executable is basically `cwltool " +#~ "[OPTIONS] [INPUTS_OBJECT]`. You " +#~ "can run the `hello_world.cwl` workflow " +#~ "without specifying any option:" +#~ msgstr "" + +#~ msgid "" +#~ "For more examples of providing metadata" +#~ " within CWL descriptions, see [the " +#~ "Metadata and Authorship section of this" +#~ " User Guide](../topics/metadata-and-" +#~ "authorship.md)." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, list dependencies " +#~ "using short name(s) under " +#~ "`SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, include a list " +#~ "of version(s) of the tool that are" +#~ " known to work with this description" +#~ " under `SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Each `CommandLineTool` description should " +#~ "focus on a single operation only, " +#~ "even if the (sub)command is capable " +#~ "of more. Don't overcomplicate your tool" +#~ " descriptions with options that you " +#~ "don't need or use." +#~ msgstr "" + +#~ msgid "" +#~ "This indicates whether a process " +#~ "requires outgoing IPv4/IPv6 network access." +#~ " If a command-line tool is " +#~ "written manually in CWL v1.1+, there " +#~ "is a need to specify when network" +#~ " access is required." +#~ msgstr "" + +#~ msgid "" +#~ "CWL v1.0 command-line tools that " +#~ "are upgraded to v1.1 or v1.2 get" +#~ " Network Access automatically." +#~ msgstr "" + +#~ msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Note also that the author of this" +#~ " CWL description has also included " +#~ "`ResourceRequirement`s, specifying the minimum " +#~ "amount of RAM and number of cores" +#~ " required for the tool to run " +#~ "successfully, as well as details of " +#~ "the version of the software that " +#~ "the description was written for and " +#~ "other useful metadata. These features " +#~ "are discussed further in other chapters" +#~ " of this user guide." +#~ msgstr "" + +#~ msgid "" +#~ "Similar to the command-line tool " +#~ "it requires `inputs` and `outputs`. But" +#~ " instead of `baseCommand`, it requires " +#~ "an `expression` attribute." +#~ msgstr "" + +#~ msgid "" +#~ "We had to use an " +#~ "`InlineJavascriptRequirement` as our expression " +#~ "contains a JavaScript call in " +#~ "`.toUpperCase()`. This means to tools " +#~ "using the expression tool that " +#~ "JavaScript is a requirement." +#~ msgstr "" + +#~ msgid "" +#~ "If you need to manipulate input " +#~ "parameters, include the requirement " +#~ "`InlineJavascriptRequirement` and then anywhere " +#~ "a parameter reference is legal you " +#~ "can provide a fragment of Javascript " +#~ "that will be evaluated by the CWL" +#~ " runner." +#~ msgstr "" + +#~ msgid "From `Workflow`" +#~ msgstr "" + +#~ msgid "" +#~ "The requirement `InlineJavascriptRequirement` " +#~ "supports an `expressionLib` attribute that " +#~ "allows users to load external JavaScript" +#~ " files, or to provide inline " +#~ "JavaScript code." +#~ msgstr "" + +#~ msgid "" +#~ "Tools and workflows can take `File` " +#~ "types as input and produce them as" +#~ " output. We also recommend indicating " +#~ "the format for `File` types. This " +#~ "helps document for others how to " +#~ "use your tool while allowing you " +#~ "to do some simple type-checking " +#~ "when creating parameter files." +#~ msgstr "" + +#~ msgid "" +#~ "Available primitive types are *string*, " +#~ "*int*, *long*, *float*, *double*, and " +#~ "*null*; complex types are *array* and" +#~ " *record*; in addition there are " +#~ "special types *File*, *Directory* and " +#~ "*Any*." +#~ msgstr "" + +#~ msgid "" +#~ "You can use `cwltool` to create a" +#~ " template input object. That saves " +#~ "you from having to type all the" +#~ " input parameters in a input object" +#~ " file:" +#~ msgstr "" + +#~ msgid "" +#~ "The field `inputBinding` is optional and" +#~ " indicates whether and how the input" +#~ " parameter should appear on the " +#~ "tool's command line. If `inputBinding` " +#~ "is missing, the parameter does not " +#~ "appear on the command line. Let's " +#~ "look at each example in detail." +#~ msgstr "" + +#~ msgid "" +#~ "If you use exclusive input parameters" +#~ " combined with expressions, you need " +#~ "to be aware that the `inputs` " +#~ "JavaScript object will contain one of" +#~ " the exclusive input values. This " +#~ "means that you might need to use" +#~ " an **or** boolean operator to check" +#~ " which values are present." +#~ msgstr "" + +#~ msgid "" +#~ "Note how the JavaScript expression uses" +#~ " the value of the exclusive input " +#~ "parameter without taking into consideration" +#~ " a `null` value. If you provide " +#~ "a valid value, such as “fasta” " +#~ "(one of the values of the enum)," +#~ " your command should execute successfully:" +#~ msgstr "" + +#~ msgid "" +#~ "However, if you do not provide any" +#~ " input value, then `file_format` will " +#~ "be evaluated to a `null` value, " +#~ "which does not match the expected " +#~ "type for the output field (a " +#~ "`string`), resulting in failure when " +#~ "running your workflow." +#~ msgstr "" + +#~ msgid "" +#~ "To correct it, you must remember " +#~ "to use an or operator in your " +#~ "JavaScript expression when using exclusive " +#~ "parameters, or any parameter that allows" +#~ " `null`. For example, the expression " +#~ "could be changed to `$(inputs.file_format " +#~ "|| 'auto')`, to have a default " +#~ "value if none was provided in the" +#~ " command line or job input file." +#~ msgstr "" + +#~ msgid "" +#~ "The `uppercase` step of the workflow " +#~ "is an operation. It can be used" +#~ " like a command line tool or an" +#~ " expression. You can also plot it " +#~ "with the CWL Viewer or `cwltool`:" +#~ msgstr "" + +#~ msgid "" +#~ "The output of the command above " +#~ "can be rendered with a Graphviz " +#~ "renderer. The following image is " +#~ "rendered with the Sphinx Graphviz " +#~ "directive (this user guide is built " +#~ "with Sphinx):" +#~ msgstr "" + +#~ msgid "" +#~ "If you try running it with " +#~ "`cwltool`, the command will fail since" +#~ " `cwltool` does not have enough " +#~ "information to know how to execute " +#~ "it:" +#~ msgstr "" + +#~ msgid "" +#~ "When a tool runs under CWL, the" +#~ " starting working directory is the " +#~ "designated output directory. The underlying" +#~ " tool or script must record its " +#~ "results in the form of files " +#~ "created in the output directory. The" +#~ " output parameters returned by the " +#~ "CWL tool are either the output " +#~ "files themselves, or come from examining" +#~ " the content of those files." +#~ msgstr "" + +#~ msgid "" +#~ "In previous examples, the `baseCommand` " +#~ "was just a string, with any " +#~ "arguments passed as CWL inputs. Instead" +#~ " of a single string we can use" +#~ " an _array of strings_. The first" +#~ " element is the command to run, " +#~ "and any subsequent elements are " +#~ "mandatory command line arguments" +#~ msgstr "" + +#~ msgid "" +#~ "The field `outputBinding` describes how " +#~ "to set the value of each output" +#~ " parameter." +#~ msgstr "" + +#~ msgid "" +#~ "The `glob` field consists of the " +#~ "name of a file in the output " +#~ "directory. If you don't know name " +#~ "of the file in advance, you can" +#~ " use a wildcard pattern like `glob:" +#~ " '*.txt'`." +#~ msgstr "" + +#~ msgid "" +#~ "To capture a tool's standard output " +#~ "stream, add the `stdout` field with " +#~ "the name of the file where the " +#~ "output stream should go. Then add " +#~ "`type: stdout` on the corresponding " +#~ "output parameter." +#~ msgstr "" + +#~ msgid "" +#~ "Often, tool descriptions will be written" +#~ " for a specific version of a " +#~ "software. To make it easier for " +#~ "others to use your descriptions, you " +#~ "can include a `SoftwareRequirement` field " +#~ "in the `hints` section. This may " +#~ "also help to avoid confusion about " +#~ "which version of a tool the " +#~ "description was written for." +#~ msgstr "" + +#~ msgid "" +#~ "As well as a version number, a " +#~ "unique resource identifier (URI) for the" +#~ " tool is given in the form of" +#~ " an [RRID][rrid]. Resources with RRIDs " +#~ "can be looked up in the " +#~ "[SciCrunch][scicrunch] registry, which provides " +#~ "a portal for finding, tracking, and " +#~ "referring to scientific resources " +#~ "consistently. If you want to specify " +#~ "a tool as a `SoftwareRequirement`, " +#~ "search for the tool on SciCrunch " +#~ "and use the RRID that it has " +#~ "been assigned in the registry. (Follow" +#~ " this [Adding a Resource Tutorial" +#~ "][scicrunch-add-tool] to add a tool" +#~ " to SciCrunch). You can use this " +#~ "RRID to refer to the tool (via " +#~ "[identifiers.org][identifiers]) in the `specs` " +#~ "field of your requirement description. " +#~ "Other good choices, in order of " +#~ "preference, are to include the DOI " +#~ "for the main tool citation and the" +#~ " URL to the tool." +#~ msgstr "" + +#~ msgid "" +#~ "Normally, input files are located in " +#~ "a read-only directory separate from " +#~ "the output directory. This causes " +#~ "problems if the underlying tool expects" +#~ " to write its output files alongside" +#~ " the input file in the same " +#~ "directory. You use `InitialWorkDirRequirement` " +#~ "to stage input files into the " +#~ "output directory. In this example, we" +#~ " use a JavaScript expression to " +#~ "extract the base name of the input" +#~ " file from its leading directory " +#~ "path." +#~ msgstr "" + +#~ msgid "" +#~ "Before we run this, let's just " +#~ "break it down and see what some" +#~ " bits do. Most of this has " +#~ "been explained in previous sections, the" +#~ " only part that is really new " +#~ "is the `dockerRequirement` section." +#~ msgstr "" diff --git a/locales/ja/LC_MESSAGES/sphinx.po b/locales/ja/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..0a256b46 --- /dev/null +++ b/locales/ja/LC_MESSAGES/sphinx.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2024-02-13 04:02+0000\n" +"Last-Translator: Manabu ISHII \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "メインナビゲーション" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "セクションナビゲーション" diff --git a/locales/ja/LC_MESSAGES/user_guide.po b/locales/ja/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..3d1c2e1c --- /dev/null +++ b/locales/ja/LC_MESSAGES/user_guide.po @@ -0,0 +1,5033 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-16 11:48+0100\n" +"PO-Revision-Date: 2024-05-30 05:09+0000\n" +"Last-Translator: Manabu ISHII \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.6-dev\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac +msgid "Licenses" +msgstr "ライセンス" + +#: ../../LICENSE.md:4 9dd9705700664b31a3f296d263b4028b +msgid "Instructional Material" +msgstr "指導資料" + +#: ../../LICENSE.md:6 e54324bd39cd431d91b32e338217b8c7 +msgid "" +"All Common Workflow Language project instructional material and changes " +"to the structure are also made available under the [Creative Commons " +"Attribution license][cc-by-human]. The following is a human-readable " +"summary of (and not a substitute for) the [full legal text of the CC BY " +"4.0 license][cc-by-legal]." +msgstr "" +"Common Workflow Languageプロジェクトのすべての説明資料と構造の変更は、[" +"Creative Commons Attribution license][cc-by-human] " +"の下でも利用できるようになっています。以下は、[CC BY 4.0 ライセンスの法的全文" +"][cc-by-legal]を人間が読めるようにまとめたものです(ライセンス全文に代わるも" +"のではありません)。" + +#: ../../LICENSE.md:12 754f3f54aa4142ef9dac27f508dd0bca +msgid "You are free:" +msgstr "あなたは以下の条件に従う限り、自由に:" + +#: ../../LICENSE.md:14 d2b1d5e965ef4e71b64c359549919975 +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "**共有** --- " +"どのようなメディアやフォーマットでも資料を複製したり、再配布できます。 " +"営利目的も含め、どのような目的でも。" + +#: ../../LICENSE.md:15 fe9551ffef8149bf8da50e70318e8de8 +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**翻案** --- " +"マテリアルをリミックスしたり、改変したり、別の作品のベースにしたりできます。 " +"営利目的も含め、どのような目的でも" + +#: ../../LICENSE.md:17 247db3bcc7024c44a044886a29ef1414 +msgid "for any purpose, even commercially." +msgstr "営利目的であっても、いかなる目的であっても。" + +#: ../../LICENSE.md:19 c04d906124854afc917707b7b4e45bb2 +msgid "" +"The licensor cannot revoke these freedoms as long as you follow the " +"license terms:" +msgstr "あなたがライセンスの条件に従っている限り、許諾者がこれらの自由を取り消すこと" +"はできません。" + +#: ../../LICENSE.md:24 551cb5ab59dd4737b1042a4ef79ffab7 +msgid "" +"**Attribution**---You must give appropriate credit (mentioning that your " +"work is derived from work that is Copyright © the Common Workflow " +"Language project, and, where practical, linking to " +"https://www.commonwl.org/%20),%20provide%20a%20[link%20to%20the%20license][cc-by-" +"human], and indicate if changes were made. You may do so in any " +"reasonable manner, but not in any way that suggests the licensor endorses" +" you or your use." +msgstr "" +"**表示** --- あなたは 適切なクレジット を表示し(あなたの作品が「Copyright © " +"the Common Workflow Language project」の作品から派生していることを明記し、" +"可能であれば https://www.commonwl.org/ " +"へのリンクを提供してください)、[ライセンスへのリンク][cc-by-human]を提供し、 " +"変更があったらその旨を示さ なければなりません。これらは合理的であればどのよう" +"な方法で行っても構いませんが、許諾者があなたやあなたの利用行為を支持している" +"と示唆するような方法は除きます。" + +#: ../../LICENSE.md:32 f6c3b2ccad494ed6811a35537fc1fb0d +msgid "" +"**No additional restrictions**---You may not apply legal terms or " +"technological measures that legally restrict others from doing anything " +"the license permits. With the understanding that:" +msgstr "" +"**追加的な制約は課せません** --- あなたは、" +"このライセンスが他の者に許諾することを法的に制限するようないかなる法的規定も " +"技術的手段 も適用してはなりません。" + +#: ../../LICENSE.md:36 91c95248cd7f435c909ee263a9a8bf3f +msgid "" +"You do not have to comply with the license for elements of the material " +"in the public domain or where your use is permitted by an applicable " +"exception or limitation." +msgstr "" +"あなたは、資料の中でパブリック・ドメインに属している部分に関して、" +"あるいはあなたの利用が著作権法上の 権利制限規定 " +"にもとづく場合には、ライセンスの規定に従う必要はありません。" + +#: ../../LICENSE.md:39 27f79b0b648b4de4b0eb3172b2dc4ae8 +msgid "" +"No warranties are given. The license may not give you all of the " +"permissions necessary for your intended use. For example, other rights " +"such as publicity, privacy, or moral rights may limit how you use the " +"material." +msgstr "" +"保証は提供されていません。ライセンスはあなたの利用に必要な全ての許諾を与えな" +"いかも知れません。例えば、 パブリシティ権、肖像権、人格権 などの他の諸権利は" +"あなたがどのように資料を利用するかを制限することがあります。" + +#: ../../LICENSE.md:44 1e367d07720d4f9fb7ebc3149052e823 +msgid "Software" +msgstr "ソフトウェア" + +#: ../../LICENSE.md:46 cf8b58d02b6943a48cb70aa78a27bea4 +msgid "" +"Except where otherwise noted, the example programs and other software " +"provided by Common Workflow Language project are made available under the" +" [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"Common Workflow Languageプロジェクトが提供するサンプルプログラムおよびその他" +"のソフトウェアは、特に断りのない限り、[OSI][osi]が承認した[Apache 2.0 " +"license][apache-2.0-license] の下で提供されています。" + +#: ../../LICENSE.md:51 96f1e5be3e1e48db8d9a4c7693008715 +msgid "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." +msgstr "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT " +"WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the " +"License for the specific language governing permissions and limitations " +"under the License." + +#: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 +#: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf +#: ecdd0f28d5b048d69dd1ffae2fa1f6c0 +msgid "" +"CWL is a way to describe command-line tools and connect them together to " +"create workflows. Because CWL is a specification and not a specific piece" +" of software, tools and workflows described using CWL are portable across" +" a variety of platforms that support the CWL standard." +msgstr "" +"CWLは、コマンドラインツールを定義し、それらのツールを繋げてワークフローを作成" +"します。CWLは仕様であり、特定のソフトウェアではないため、CWLを使用して定義さ" +"れたツールやワークフローは、CWL標準をサポートするさまざまなプラットフォームで" +"利用可能です。" + +#: ../../src/episodes.md:5 ../../src/setup.md:5 +#: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 +msgid "This page has moved" +msgstr "このページは移動しました" + +#: ../../src/episodes.md:9 f03d7cbe6670451db0896f1b674d56c7 +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. Please use the new [Table of Contents](index.md#table-of-" +"contents) to browse the User Guide." +msgstr "" +"このページは古いもので、旧ユーザーガイドのリンクを保存するためにここに残されています。ユーザーガイドの閲覧には、新しい[目次](index.md" +"#table-of-contents)をご利用ください。" + +#: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc +msgid "FAQ" +msgstr "よくある質問" + +#: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 +msgid "How do I create non \"`File`\" types using `evalFrom`?" +msgstr "\"`File`\" 型をつかわず `evalFrom`を使うにはどうしたらよいですか?" + +#: ../../src/faq.md:41 8333f51e3f5945fe8963adfc6685bcb1 +msgid "How do I rename an input file?" +msgstr "入力ファイルの名前を変更するにはどうしたらよいですか?" + +#: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 +msgid "" +"This example demonstrates how to change the name of an input file as part" +" of a tool description. This could be useful when you are taking files " +"produced from another step in a workflow, and don't want to work with the" +" default names that these files were given when they were created." +msgstr "この例では、ツール定義の一部として、入力ファイルの名前を変更する方法を説明します。これは、ワークフローの別のステップで作成されたファイルを使用する場合に、これらのファイルが作成されたときに与えられたデフォルトの名前を使用して作業したくない場合に便利です。" + +#: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 +msgid "How do I rename an output file?" +msgstr "出力ファイルの名前を変更するにはどうしたらよいですか?" + +#: ../../src/faq.md:61 207e2f97d1c44233ae3f109c5a6ec944 +msgid "" +"This example demonstrates how to change the name of an output file from " +"the default name given to it by a tool:" +msgstr "この例では、出力ファイルの名前を、ツールから与えられたデフォルトの名前から変更する方法を示します:" + +#: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 +msgid "" +"By modifying the `basename` field in the `outputEval` field, CWL workflow" +" engines will rename the file using the new name for subsequent steps or " +"as a workflow-level output." +msgstr "" +"`outputEval`フィールドの`basename`フィールドを変更することで、CWLワークフロー" +"エンジンは、後続のステップまたはワークフローレベルの出力として、新しい名前を" +"使用してファイル名を変更します。" + +#: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 +msgid "How do I reference a local script?" +msgstr "ローカルスクリプトを参照するにはどうしたらよいですか?" + +#: ../../src/faq.md:88 d3e43b40d6994b32bc37067ee116418e +msgid "There are two ways to reference a local script:" +msgstr "ローカルスクリプトを参照するには、2つの方法があります:" + +#: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd +msgid "" +"The first method involves adding the path to a folder containing your " +"scripts to the `PATH` environment variable. This allows you to execute " +"the shell script directly (without explicitly using the `sh` or `bash` " +"commands)." +msgstr "" +"最初の方法は、スクリプトの入ったフォルダを " +"環境変数`PATH`に追加する方法です。これにより、`sh` や`bash` " +"コマンドを使用せずに、シェルスクリプトを直接実行できます。" + +#: ../../src/faq.md:93 34ebca4487a54ceab5d087105820e945 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "まず、ファイルの先頭に _shebang_ を追加します:" + +#: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a +msgid "" +"After that, make the script executable with the command `chmod +x " +"scriptname.sh`" +msgstr "その後、`chmod +x scriptname.sh` というコマンドでスクリプトを実行可能な状態にします" + +#: ../../src/faq.md:101 756ab4f7edcf42d3872bb86818e088c3 +msgid "" +"Finally, modify your `PATH` to add the directory where your script is " +"located. (It is good practice to use `$HOME/bin` for storing your own " +"scripts)." +msgstr "" +"最後に、`PATH` を変更し、スクリプトが置かれているディレクトリを追加します。(`$HOME/bin` " +"を自分のスクリプトを保存するために使用するのは良い習慣です)。" + +#: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "これで、`baseCommand: scriptname.sh` を使って、スクリプトを直接実行できるようになりました。" + +#: ../../src/faq.md:117 844938d5d2304c6cb03184b4b4b0b024 +msgid "" +"When you wish to share your work later, you can place your script in a " +"software container in the Docker format." +msgstr "後で作ったものを共有したいときは、スクリプトをDockerコンテナに入れることがで" +"きます。" + +#: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 +msgid "" +"The second method involves including an input of `type: File` in the " +"script itself:" +msgstr "2つ目の方法は、`type: File` をスクリプト自体に含める方法です:" + +#: ../../src/faq.md:138 ba246320fdd94a1aab4736f83718d793 +msgid "How can I set `self`-based input bindings for optional inputs?" +msgstr "オプショナル入力のために `self`-形式のInput Bindings " +"をどのように設定しますか?" + +#: ../../src/faq.md:140 6169b7be9af7448abcb57eaf91e1cc91 +msgid "" +"Currently, `cwltool` can't cope with missing optional inputs if their " +"input binding makes use of `self`. Below is an example workaround for " +"this, pending a more sophisticated fix." +msgstr "" +"現在、`cwltool` は、入力バインディングが`self` を使用している場合、オプション" +"入力が見つからない事に対処することができません。以下は、より洗練された修正を" +"待つ間の回避策の例です。" + +#: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab +msgid "How can I model a \"one-or-the-other\" parameter?" +msgstr "「一か八か」のパラメータをモデル化するにはどうしたらよいですか?" + +#: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 +msgid "" +"Below is an example showing how to specify different strings to be added " +"to a command line, based on the value given to a Boolean parameter." +msgstr "以下は、Booleanパラメータの値によって、コマンドラインに追加する文字列を変える例を示しています。" + +#: ../../src/faq.md:188 5c9980839f404ba6aef92ef23034500f +msgid "" +"How do I connect a solo value to an input that expects an array of that " +"type?" +msgstr "ある型の配列を期待する入力に1つの値を与えるにはどうしたらよいでしょうか?" + +#: ../../src/faq.md:190 2525baf16c1f4725b096f33fd99009cf +msgid "" +"Add a " +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +" along with [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput):" +msgstr "" +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow." +"html#MultipleInputFeatureRequirement) と [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput)を一緒に使います:" + +#: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 +msgid "" +"The input must be an array consisting of exactly one entry for each input" +" link. If \"merge_nested\" is specified with a single link, the value " +"from the link must be wrapped in a single-item list." +msgstr "" +"入力は、各入力リンクに対して正確に1つのエントリで構成される配列でなければなり" +"ません。\"merge_nested\"が1つのリンクで指定された場合" +"、リンクからの値は1つのアイテムリストでラップされなければなりません。" + +#: ../../src/faq.md:199 3af16c07e3f148ddb8849c94a3864158 +msgid "Which means \"create a list with exactly these sources as elements\"." +msgstr "つまり、\"まさにこれらのソースを要素とするリストを作成する\" ということです。" + +#: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 +msgid "" +"Or in other words: if the destination is of type `File[]` (an array of " +"`File`s) and the source is a single `File` then add " +"`MultipleInputFeatureRequirement` to the Workflow level `requirements` " +"and add `linkMerge: merge_nested` under the appropriate `in` entry of the" +" destination step." +msgstr "" +"`File[]` (`File`の配列) で、ソースが単一の`File` " +"の場合、`MultipleInputFeatureRequirement` " +"をワークフローレベルの`requirements` に追加し、`linkMerge: merge_nested` " +"を目的ステップのエントリの該当`in`に追加します。" + +#: ../../src/faq.md:229 2f1bbb611c9c4f80b7ae0566432f2f35 +msgid "How do make an input optional? 💯" +msgstr "入力パラメータをオプショナルにするにはどうしたらよいですか? 💯" + +#: ../../src/faq.md:231 08a226efe5d141e68215ac77725033db +msgid "" +"To make an input parameter optional, add a question mark to the type " +"declaration." +msgstr "入力パラメータをオプションにするには、型宣言に疑問符を付けます。" + +#: ../../src/faq.md:247 06e70a855a8f455ca0536eead77073c2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 7fda8eeb6a7f4689993ed0118c77f023 +msgid "" +"How do I specify an input that must come from a list of predefined values" +" (i.e. How do I use enum inputs) ?" +msgstr "どうやってあらかじめ定義された値のリストから入力を指定できますか(つまり、入力" +"でenumを使うにはどうしたらよいですか)?" + +#: ../../src/faq.md:250 b1934a82553b4da3b7f981e576245dd8 +msgid "" +"For command line flags that require a specific input as the argument an " +"enum type can be declared in CWL. **Specifying null here is known as long" +" form style. It does the same thing as the question mark on the other " +"inputs.**" +msgstr "" +"引数として特定の入力を必要とするコマンドラインフラグについては、CWLで列挙型(" +"enum type)を宣言することで実現できます。**ここでnullを指定することは、ロング" +"フォーム・スタイルとして知られています。他の入力のクエスチョンマークと同じ働" +"きをします。**" + +#: ../../src/faq.md:267 17fc34fad2094f5ea60e963dabd632b8 +msgid "" +msgstr "" + +#: ../../src/faq.md:268 4d7acfbeba5b4e9cb31f08ef4b280447 +msgid "" +"How do I describe dependent or exclusive input parameters(e.g. How do I " +"use record inputs)?" +msgstr "依存的または排他的な入力パラメータはどのように記述すればよいですか(例えば、" +"レコード入力をどのように使用すればよいですか)?" + +#: ../../src/faq.md:270 949ce95c082f4a05891a55fee25d4873 +msgid "" +"For commandline flags that are either **mutually exclusive** or " +"**dependent** a special record type can be defined. You can also specify " +"null here to create optional inputs." +msgstr "" +"**相互排他的** または**依存的** のいずれかのコマンドラインフラグについては、" +"特別なレコードタイプを定義できます。また、ここにnullを指定することで、オプシ" +"ョンの入力を作成できます。" + +#: ../../src/faq.md:322 6fd3c469d11d4d52b9fbb7a3d443a8db +msgid "How do I set mutually exclusive parameters?" +msgstr "相互に排他的なパラメータを設定するにはどうしたらよいでしょうか?" + +#: ../../src/faq.md:324 a0687ce5c1f940538abc977cad83138f +msgid "" +"To properly set fields in a record input type, you need to pass a " +"dictionary to the input to properly set the parameters. This is done by " +"using inline JavaScript and returning the dictionary with the key of the " +"field you want to set. The source field is set to indicate the input from" +" the workflow to be used as the value." +msgstr "" +"レコード入力タイプのフィールドを適切に設定するには、入力に辞書を渡してパラメ" +"ータを適切に設定する必要があります。これは、インラインJavaScriptを使用し、設" +"定したいフィールドのキーを持つ辞書を返すことで実現します。sourceフィールドに" +"は、値として使用するワークフローからの入力を示すものが設定されます。" + +#: ../../src/faq.md:342 12869ce2cdab4c858f3232c6158514f1 +msgid "How can I set Booleans?" +msgstr "ブール値を設定するにはどうしたらよいでしょうか?" + +#: ../../src/faq.md:344 8dcb88744e5840029de0e1bbf1c4b967 +msgid "These can be set by using the default field" +msgstr "デフォルトフィールドを使って、これらを設定します" + +#: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 +msgid "What should I do when concatenating strings in inputs?" +msgstr "入力された文字列を連結するにはどうしたら良いでしょうか?" + +#: ../../src/faq.md:351 68f74afc21d846dd9070d45dec0cc1d8 +msgid "The valueFrom field must be used instead of default." +msgstr "defaultフィールドの代わりにvalueFromフィールドを使用する必要があります。" + +#: ../../src/faq.md:359 53b633c6f8644106beb95ae567eb0708 +msgid "" +"I get `cwltool` errors due to filenames with space characters inside. " +"What should I do?" +msgstr "`cwltool` ファイル名の中に空白文字があるために起こるエラーにはどのように対処" +"したらよいでしょうか?" + +#: ../../src/faq.md:361 7101bb5cb69e4faca4e60eabb4eb258e +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "`cwltool` は、デフォルトではファイル名に一部の文字を許可していません。" + +#: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 +msgid "" +"For example, the filename `a space is here.txt` includes 3 space " +"characters." +msgstr "例えば、`a space is here.txt` というファイル名には、3つの空白文字が含まれています。" + +#: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 +msgid "" +"If you can not avoid these dangerous characters, then pass `--relax-path-" +"checks` to `cwltool`." +msgstr "これらの危険な文字を避けられない場合は、`--relax-path-checks` を`cwltool` に渡してください。" + +#: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 +msgid "" +"What should I do when I get CWL Parameter Reference error due to hyphen " +"in an input identifier?" +msgstr "入力パラメータ名の中にハイフンがあるため、CWL Parameter Reference " +"エラーが起こりました。どのようしたらよいでしょうか?" + +#: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 +msgid "If `cwltool --validate` returns valid" +msgstr "`cwltool --validate` の結果に問題ない場合" + +#: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 +msgid "But executing it causes an error like:" +msgstr "しかし、実行すると以下のようなエラーが発生します:" + +#: ../../src/faq.md:396 2b96665acac449758b852bbe7600e007 +msgid "The file is here" +msgstr "ファイルはこちらです" + +#: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec +msgid "Problem caused by `-` (hyphen character)." +msgstr "`-` (ハイフン文字、引き算の記号)が原因で発生した問題です。" + +#: ../../src/faq.md:423 7780f461ca4c478b92fca893c0b0894a +msgid "To fix this error, change `-` (hyphen) to `_` (underscore):" +msgstr "このエラーを修正するには、`-` (ハイフン) を`_` (アンダースコア) " +"に変更してください:" + +#: ../../src/faq.md:436 88df56dfff854fc68fb6ad3835a846e4 +msgid "" +"If it is not possible to change the input identifier, then you can use an" +" alternative CWL Parameter Reference syntax:" +msgstr "入力識別子を変更することができない場合は、別のCWLパラメータリファレンス構文を" +"使用できます:" + +#: ../../src/faq.md:442 fc407a9e8d8c4b699d9cd14b369343b5 +msgid "How do I use CWL and cwltool with Singularity?" +msgstr "SingularityをCWLとcwltoolで使うにはどうしたらよいでしょうか?" + +#: ../../src/faq.md:445 239f5f81cef042b08fb8015c36b3ecad +msgid "" +"The CWL standards are built around (optional) Docker format containers. " +"The reference runner and several other CWL implementations support " +"running those Docker format containers using the Singularity engine. " +"Directly specifying a Singularity format container is not part of the CWL" +" standards." +msgstr "" +"CWL標準は、(オプションの)Docker形式のコンテナを中心に構築されています。リフ" +"ァレンスランナーや他のいくつかのCWL実装は、Singularityエンジンを使用してそれ" +"らのDockerフォーマットコンテナを実行することをサポートしています。Singularity" +"フォーマットコンテナを直接指定することは、CWL標準ではありません。" + +#: ../../src/faq.md:450 61641314d82b43e982e54c64c73232c5 +msgid "How do I debug the JavaScript in my CWL tool?" +msgstr "CWLツールのJavaScriptをデバッグするには?" + +#: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b +msgid "" +"You can use the --js-console option of cwltool," +" or you can try creating a JavaScript or TypeScript project for your " +"code, and load it using expressionLib, e.g.: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" +"cwltool--js-console " +"オプションを使用するか、または、あなたのコードのためのJavaScript または " +"TypeScript プロジェクトを作成し、expressionLib " +"を使用して読み込んでみてください(例: https://github.com/common-workflow-language/" +"common-workflow-language/blob/master/v1.0/v1.0/template-tool." +"cwl#L6-L8" + +#: ../../src/index.md:1 1c9fb72b83c9467a9672943fb47ffe32 +msgid "Common Workflow Language User Guide" +msgstr "Common Workflow Language ユーザーガイド" + +#: ../../src/index.md:3 aaa44578e27345e682ab44686b4da159 +msgid "" +"This guide will introduce you to writing workflows using the [Common " +"Workflow Language](https://www.commonwl.org/) (CWL) open standards. This " +"guide describes the latest specification {{ cwl_version }}." +msgstr "" +"本ガイドは、オープンスタンダードである [Common Workflow Language](https://www.commonwl.org/)" +" (CWL) を使用したワークフローの書き方を紹介するものです。本ガイドは、最新仕様{{ cwl_version }}を解説しています。" + +#: ../../src/index.md:7 0adfc2adb0c74372b25d197dd3a73b8b +msgid "Contributions and Feedback are Welcome!" +msgstr "ご意見、ご感想、貢献をお待ちしております!" + +#: ../../src/index.md:9 96c8dca812f1415db7c5c006b0c0e022 +msgid "" +"If you find that something is missing from this guide, or if you would " +"like to provide other feedback, file an Issue on the [project repository " +"for this guide][repo]. You can also suggest changes directly in a Pull " +"Request by clicking the \"Edit this page\" button at the right sidebar of" +" each page." +msgstr "" +"このガイドに足りないものがある場合、またはその他のフィードバックを提供したい" +"場合は、[このユーザーガイドのプロジェクトリポジトリ][repo]にIssueを作成してく" +"ださい。また、各ページの右サイドバーにある「このページを編集する」ボタンをク" +"リックすると、Pull Requestで直接変更を提案できます。" + +#: ../../src/index.md:16 35c50bb5c3a345b4a4ae66b2df065376 +msgid "Navigating the User Guide" +msgstr "ユーザーガイドの使い方" + +#: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 +msgid "" +"If you are a beginner user get started with the " +"[Introduction](/introduction/index.md) section. For advanced users the " +"subsections of the [Topics](/topics/index.md) have detailed information " +"about the most common topics for CWL." +msgstr "" +"初心者の方は、[はじめに](/introduction/index." +"md)のセクションから始めてください。上級者向けには、[Topics](/topics/index." +"md)のサブセクションに、CWLで最も一般的なトピックに関する詳細情報があります。" + +#: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 +msgid "" +"The Table of Contents is displayed at the top menu and also on the left " +"sidebar. It also appears further down this page but with links to " +"subsections. The right sidebar contains links to the sections of each " +"page, and the Search form is on the left sidebar." +msgstr "目次は、トップメニューと左サイドバーに表示されています。また、このページのさらに下にも表示されますが、サブセクションへのリンクがあります。右サイドバーには各ページのセクションへのリンクがあり、左サイドバーには「検索フォーム」があります。" + +#: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d +msgid "Table of Contents" +msgstr "目次" + +#: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a +msgid "Basic Concepts" +msgstr "基本コンセプト" + +#: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece +msgid "" +"This section describes the basic concepts for users to get started on " +"working with Common Workflow Language (CWL) workflows. Readers are " +"expected to be familiar with workflow managers, YAML, and comfortable " +"with following instructions for the command-line. The other sections of " +"the user guide cover the same concepts, but in more detail. If you are " +"already familiar with CWL or you are looking for more advanced content, " +"you may want to skip this section." +msgstr "" +"このセクションでは、Common Workflow Language(CWL)ワークフローの使用を開始す" +"るための基本的な概念について説明します。読者は、ワークフローマネージャー、" +"YAML に精通し、コマンドラインの指示に従うことに慣れていることが期待されます。" +"このユーザーガイドの他のセクションは、同じ概念をカバーしていますが、より詳細" +"に説明されています。すでにCWLに精通している場合、またはより高度なコンテンツを" +"探している場合は、このセクションをスキップできます。" + +#: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf +msgid "The CWL Specification" +msgstr "CWLの仕様" + +#: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 +msgid "" +"The CWL specification is a document written and maintained by the CWL " +"community. The specification has different versions. The version covered " +"in this user guide is the {{ cwl_version }}." +msgstr "" +"CWL仕様は、CWLコミュニティによって書かれ、維持されている文書です。この仕様には異なるバージョンが存在します。このユーザーガイドで扱うバージョンは{{" +" cwl_version }}です。" + +#: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb +msgid "" +"The specification version can have up to three numbers separated by `.`s " +"(dots). The first number is the major release, used for backward-" +"incompatible changes like the removal of deprecated features. The second " +"number is the minor release, used for new features or smaller changes " +"that are backward-compatible. The last number is used for bug fixes, like" +" typos and other corrections to the specification." +msgstr "" +"仕様のバージョンは、`.`s(ドット)で区切られた最大3つの数字を持つことができま" +"す。最初の番号はメジャーリリースで、非推奨機能の削除など、後方互換性のない変" +"更に使用されます。2番目の番号はマイナーリリースで、新機能や後方互換性のある小" +"さな変更に使用されます。最後の番号は、仕様の誤字やその他の修正など、バグフィ" +"ックスに使用される番号です。" + +#: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 +msgid "" +"The model used for the specification version is called Semantic " +"Versioning. See the end of this section to [learn more](#learn-more) " +"about it." +msgstr "" +"仕様のバージョンアップに使われるモデルは、セマンティックバージョニングです。" +"それについて[もっと知りたい](#learn-" +"more)方は、このセクションの最後をご覧ください。" + +#: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be +msgid "Implementations" +msgstr "実装" + +#: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 +msgid "" +"An implementation of the CWL specification is any software written " +"following what is defined in a version of the specification document. " +"However, implementations may not implement every aspect of the " +"specification. CWL implementations are licensed under both Open Source " +"and commercial licenses." +msgstr "" +"CWL仕様の実装とは、あるバージョンの仕様書で定義された内容に従って書かれたソフ" +"トウェアのことです。ただし、実装は仕様にあるすべてを実装するわけではありませ" +"ん。CWLの実装は、オープンソース・ライセンスと商用ライセンスの両方でライセンス" +"されています。" + +#: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d +msgid "" +"CWL is well suited for describing large-scale workflows in cluster, cloud" +" and high performance computing environments where tasks are scheduled in" +" parallel across many nodes." +msgstr "" +"CWLは、多くのノードでタスクが並列にスケジューリングされるクラスタ、クラウド、" +"ハイパフォーマンスコンピューティング環境における大規模なワークフローを記述す" +"るのに適しています。" + +#: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e +msgid "CWL specification, implementations, and other tools." +msgstr "CWL仕様、実装、その他ツール。" + +#: ../../src/introduction/basic-concepts.md:105 +#: 1c1647a3496c4251a3193f94ee4e78c8 +msgid "Processes and Requirements" +msgstr "Processes 及び Requirements" + +#: ../../src/introduction/basic-concepts.md:107 +#: 854633336f4d4fc394e62c53ce022c6b +msgid "" +"A process is a computing unit that takes inputs and produces outputs. The" +" behavior of a process can be affected by the inputs, requirements, and " +"hints. There are four types of processes defined in the CWL specification" +" {{ cwl_version }}:" +msgstr "" +"Processとは、入力を受けて出力を生成する計算のユニットです。Processの動作は、i" +"nputs、requirements、hintsに影響されることがあります。CWL仕様{{ cwl_version " +"}}では、4種類のProcessが定義されています:" + +#: ../../src/introduction/basic-concepts.md:112 +#: 142a847f11d7462f8bf77bfe789410ca +msgid "A command-line tool." +msgstr "コマンドラインツール。" + +#: ../../src/introduction/basic-concepts.md:113 +#: 7c7567fa690043f9b4b89bdf8ca60cad +msgid "An expression tool." +msgstr "Expression ツール。" + +#: ../../src/introduction/basic-concepts.md:114 +#: 7afcf087d3ea49dabf1a641a2bb71b35 +msgid "An operation." +msgstr "Operation。" + +#: ../../src/introduction/basic-concepts.md:115 +#: 6399939602334819a20b92b957352a8a +msgid "A workflow." +msgstr "ワークフロー。" + +#: ../../src/introduction/basic-concepts.md:118 +#: 8c55b15cebf142899045f229ccc86b1e +msgid "The processing units available in the CWL objects model." +msgstr "CWLオブジェクトモデルで使用可能な処理単位です。" + +#: ../../src/introduction/basic-concepts.md:119 +#: ec54c0e67e894bfba2d0fbb0f87ffdf4 +msgid "" +"A command-line tool is a wrapper for a command-line utility like `echo`, " +"`ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" +"CommandLineToolは、`echo` 、`ls` 、`tar` " +"のようなコマンドのラッパーです。CommandLineToolは、Workflowから呼び出せます。" + +#: ../../src/introduction/basic-concepts.md:122 +#: c88ad26efa794cbeb6f0690aa0cad5ea +msgid "" +"An expression tool is a wrapper for a JavaScript expression. It can be " +"used to simplify workflows and command-line tools, moving common parts of" +" a workflow execution into reusable JavaScript code that takes inputs and" +" produces outputs like a command-line tool." +msgstr "" +"ExpressionToolは、JavaScriptの式のラッパーです。WorkflowやCommandLineToolの簡" +"略化に使用でき、ワークフロー実行の共通部分を、CommandLineToolのように入力を受" +"けて出力を生成する再利用可能なJavaScriptコードに移動させることができます。" + +#: ../../src/introduction/basic-concepts.md:127 +#: 946825a7ea2c450eb3e41b5548670fb7 +msgid "" +"Operation is an abstract process that also takes inputs, produces " +"outputs, and can be used in a workflow. But it is a special operation not" +" so commonly used. It is discussed in the [Operations " +"section](../topics/operations.md) of this user guide." +msgstr "" +"Operationは、入力を受け、出力を出す抽象的なプロセスでもあり、ワークフローで使" +"用できます。しかし、あまり一般的に使われていない特別な処理です。このユーザー" +"ガイドの[Operation編](../topics/operations.md)で説明します。" + +#: ../../src/introduction/basic-concepts.md:131 +#: 44aac23f302c4178accf7e431cfbb96c +msgid "" +"The workflow is a process that contains steps. Steps can be other " +"workflows (nested workflows), command-line tools, or expression tools. " +"The inputs of a workflow can be passed to any of its steps, while the " +"outputs produced by its steps can be used in the final output of the " +"workflow." +msgstr "" +"Workflowは、ステップを含むプロセスです。ステップには、他のWorkflow(ネストさ" +"れたWorkflow)、CommandLineTool、ExpressionToolを使用できます。Workflowの入力" +"は、そのステップのいずれかに渡すことができ、ステップによって生成された出力は" +"、Workflowの最終出力に使用できます。" + +#: ../../src/introduction/basic-concepts.md:137 +#: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 +msgid "" +"The CWL specification allows for implementations to provide extra " +"functionality and specify prerequisites to workflows through " +"*requirements*. There are many requirements defined in the CWL " +"specification, for instance:" +msgstr "" +"CWL 仕様では、*requirements* を通じて、実装が追加機能を提供し、ワークフローの" +"前提条件を指定できます。CWL仕様には、例えば、以下のような多くの要件が定義され" +"ています:" + +#: ../../src/introduction/basic-concepts.md:141 +#: 07c5789c59224ed78a3ecd03cfe872e9 +msgid "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" +" - enables JavaScript in expressions." +msgstr "" +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/Workflow." +"html#InlineJavascriptRequirement) - でJavaScriptを有効にします。" + +#: ../../src/introduction/basic-concepts.md:142 +#: 6f9854ae1b884ad39f88d2f39d66cb98 +msgid "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" +" - enables nested workflows." +msgstr "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow." +"html#SubworkflowFeatureRequirement) - ネストしたワークフローを有効にします。" + +#: ../../src/introduction/basic-concepts.md:143 +#: 23fef6de073f4da18118e4d0512670fe +msgid "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement)" +" - controls staging files in the input directory." +msgstr "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow." +"html#InitialWorkDirRequirement) - " +"入力ディレクトリのステージングファイルを制御します。" + +#: ../../src/introduction/basic-concepts.md:145 +#: fb3762f91177401ea624d1e716d67ae6 +msgid "" +"Some CWL runners may provide requirements that are not in the " +"specification. For example, GPU requirements are supported in `cwltool` " +"through the `cwltool:CUDARequirement` requirement, but it is not part of " +"the {{ cwl_version }} specification and may not be supported by other CWL" +" runners." +msgstr "" +"いくつかのCWL runnerは、仕様にないrequirementsを提供することがあります。例え" +"ば、GPUに関するrequirementsは`cwltool` で`cwltool:CUDARequirement` " +"を通してサポートされていますが、{{ cwl_version }}仕様の一部ではないので、" +"他のCWL runnerではサポートされていないかもしれません。" + +#: ../../src/introduction/basic-concepts.md:151 +#: b6a5cd431c324078a9a4e1513a14ee28 +msgid "" +"Hints are similar to requirements, but while requirements list features " +"that are required, hints list optional features. Requirements are " +"explained in detail in the [Requirements](../topics/requirements-and-" +"hints.md) section." +msgstr "" +"HintsはRequirementsと似ていますが、Requirementsが必須機能を列挙するのに対し、" +"Hintsはオプションの機能を列挙します。Requirementsについては、[Requirements](." +"./topics/requirements-and-hints.md) セクションで詳しく説明しています。" + +#: ../../src/introduction/basic-concepts.md:155 +#: 88d7bad84dd341d2abb33673b8b8f250 +msgid "FAIR Workflows" +msgstr "FAIRワークフロー" + +#: ../../src/introduction/basic-concepts.md:157 +#: bcbf5d76cf5f47b2a9691b7d2d8ef891 +msgid "" +"The FAIR principles have laid a foundation for sharing and publishing " +"digital assets, and in particular, data. The FAIR principles emphasize " +"machine accessibility and that all digital assets should be Findable, " +"Accessible, Interoperable, and Reusable. Workflows encode the methods by " +"which the scientific process is conducted and via which data are created." +" It is thus important that workflows both support the creation of FAIR " +"data and themselves adhere to the FAIR principles. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community" +" Initiative." +msgstr "" +"FAIR原則は、デジタル資産、特にデータを共有し公開するための基礎を作りました。F" +"AIR原則は、機械可読性を重視し、すべてのデジタル資産は、検索可能(Findable)、" +"アクセス可能(Accessible)、相互運用可能(Interoperable)、再利用可能(Reusab" +"le)であるべきとしています。ワークフローは、科学的プロセスが実施され、データ" +"が作成される方法をコード化します。従って、ワークフローがFAIRデータの作成をサ" +"ポートし、かつワークフロー自身がFAIRの原則を遵守することは重要です。- [FAIR " +"Computational Workflows](https://workflows.community/groups/fair/), " +"Workflows Community Initiative." + +#: ../../src/introduction/basic-concepts.md:167 +#: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 +msgid "" +"CWL has roots in \"make\" and many similar tools that determine order of " +"execution, based on dependencies between tasks. However, unlike \"make\"," +" CWL tasks are isolated, and you must be explicit about your inputs and " +"outputs." +msgstr "" +"CWLのルーツは、タスク間の依存関係に基づき、実行順序を決定する \"make\" " +"や多くの類似ツールにあります。しかし、\"make\" " +"とは異なり、CWLのタスクは分離されており、入力と出力を明示する必要があります。" + +#: ../../src/introduction/basic-concepts.md:171 +#: c0f53138bf084939a54b0a576b44199f +msgid "" +"The benefit of explicitness and isolation are flexibility, portability, " +"and scalability; tools and workflows described with CWL can transparently" +" leverage technologies such as Docker and be used with CWL " +"implementations from different vendors." +msgstr "" +"CWLで定義されたツールやワークフローは、Dockerなどの技術を透過的に活用し、異な" +"るベンダーのCWL実装と組み合わせて使用することができるためです。" + +#: ../../src/introduction/basic-concepts.md:176 +#: 91d6eb4984a6410ba99616b6617ba9af +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "`cwltool` はまた、データプロベナンスのためのPROV-O標準オントロジーを使用しています。" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:183 +#: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 +#: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 +msgid "Learn More" +msgstr "さらなる学習" + +#: ../../src/introduction/basic-concepts.md:180 +#: 7221a89559944627b4c3db37f468f72c +msgid "Semantic Versioning - " +msgstr "セマンティック・バージョニング -" + +#: ../../src/introduction/basic-concepts.md:181 +#: bccf086fc9514f76b60dc161e3a09da3 +msgid "" +"The CWL Specification page in the CWL website: " +"" +msgstr "CWLサイト内の「CWL仕様」ページ:" + +#: ../../src/introduction/basic-concepts.md:182 +#: a5b37924c7d04ab984ff2542847afc4a +msgid "" +"The Command Line Tool Description Standard: " +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" +msgstr "" +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/" +"CommandLineTool.html)>から" + +#: ../../src/introduction/basic-concepts.md:183 +#: 44af015fa36644b99f07338d241d29c1 +msgid "" +"The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"GitHubにある現在のCWL仕様:{{ ''.format(cwl_version_text) }}" + +#: ../../src/introduction/basic-concepts.md:184 +#: bffca993172048a4b7ab7c62637662e2 +msgid "" +"The list of Implementations in the CWL website: " +"" +msgstr "CWLサイト内の実装のリスト:" + +#: ../../src/introduction/basic-concepts.md:185 +#: 84c61946406347c8b138772909110d54 +msgid "PROV-O: The PROV Ontology - " +msgstr "PROV-O: PROVオントロジー -" + +#: ../../src/introduction/basic-concepts.md:186 +#: eb0b6a62e06143eabc7b92acff9643ea +msgid "" +"CWL Operations are covered in the [Operations](../topics/operations.md) " +"section of this user guide." +msgstr "CWLのOperationsについては、本ユーザーガイドの[Operations](../topics/operations.md)セクションで説明します。" + +#: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 +msgid "Introduction" +msgstr "はじめに" + +#: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df +msgid "" +"This section will guide you through a short introduction to CWL, the " +"prerequisites for following this user guide, and some basic concepts that" +" are useful to know before reading the rest of the user guide." +msgstr "" +"このセクションでは、CWLの簡単な紹介、このユーザーガイドに従うための前提条件、" +"そしてユーザーガイドの他の部分を読む前に知っておくと便利な基本概念について案" +"内します。" + +#: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e +msgid "Prerequisites" +msgstr "前提条件" + +#: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 +msgid "" +"The software and configurations listed in this section are prerequisites " +"for following this user guide. The CWL standards are implemented by many " +"different workflow runners and platforms. This list of requirements " +"focuses on the CWL reference runner, `cwltool`. You can use another CWL-" +"compatible runner or workflow system, but the results and interface may " +"look different (though the exact workflow outputs should be identical)." +msgstr "" +"このセクションに記載されているソフトウェアと構成は、このユーザーガイドに従う" +"ための前提条件となるものです。CWL標準は、多くの異なるワークフローランナー(訳" +"注:ワークフローを実行するためのソフトウェア)やプラットフォームによって実装さ" +"れています。この要件のリストは、CWL reference runner である`cwltool` " +"に焦点を当てています。他のCWL-compatible runnerやワークフローシステムを使用す" +"ることもできますが、結果やインターフェイスは異なるかもしれません(ただし、正" +"確なワークフロー出力は同一でなければなりません)。" + +#: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 +msgid "CWL Implementations" +msgstr "CWL実装" + +#: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 +msgid "" +"There are many implementations of the CWL standards. Some are complete " +"CWL runners, while others could be plug-ins or extensions to workflow " +"engines. We have a better explanation in the [Implementations](basic-" +"concepts.md#implementations) section." +msgstr "" +"CWL標準規格の実装は数多く存在します。あるものは完全なCWL実装であり、他のもの" +"はワークフローエンジンのプラグインや拡を含むことがあります。[実装](basic-" +"concepts.md#implementations)のセクションでより詳しい説明をしています。" + +#: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 +msgid "Operating System" +msgstr "オペレーティングシステム" + +#: ../../src/introduction/prerequisites.md:21 209a0018e7da48f09b27dc507ba14d24 +msgid "" +"We recommend using an up-to-date operating system. You can choose any of " +"the following options for your operating system:" +msgstr "最新のオペレーティングシステムを使用することをお勧めします。OSは、以下のいずれかをお選びいただけます:" + +#: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 +msgid "Linux" +msgstr "Linux" + +#: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b +msgid "macOS" +msgstr "macOS" + +#: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 +msgid "Windows" +msgstr "Windows" + +#: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c +msgid "" +"If you are using Windows, you will have to install the Windows Subsystem " +"for Linux 2 as documented in the [`cwltool` documentation for Microsoft " +"Windows users](https://github.com/common-workflow-" +"language/cwltool/blob/main/README.rst#ms-windows-users). Your operating " +"system also needs internet access and a recent version of Python (3.6+)." +msgstr "" +"Windowsを使用している場合は、[Microsoft Windows ユーザのための`cwltool` " +"文書](https://github.com/common-workflow-language/cwltool/blob/main/README." +"rst#ms-windows-users)に記載されているように、Windows Subsystem for Linux 2を" +"インストールする必要があります。インターネットアクセスとPythonの最新バージョ" +"ン(3.6+)も必要です。" + +#: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 +msgid "CWL Runner" +msgstr "CWL Runner" + +#: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 +msgid "" +"The first thing you will need for running CWL workflows is a CWL runner. " +"`cwltool` is a Python Open Source project maintained by the CWL " +"community. It is also the CWL reference runner, which means it must " +"support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" +"CWL ワークフローを実行するために最初に必要なものは、CWL runnerです。`cwltool`" +" は、CWL コミュニティによって維持されている Python " +"オープンソース・プロジェクトです。これはCWL reference runner(訳注: " +"CWLの参照実装)でもあり、`cwltool`は現在のCWL仕様{{ cwl_version " +"}}のすべてをサポートしなければならないことを意味します。" + +#: ../../src/introduction/prerequisites.md:44 068f09d4d66547448693f7b9dadef497 +msgid "" +"`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend " +"using a virtual environment like `venv` or `conda`." +msgstr "" +"`cwltool` は `pip`、`apt` または `conda` でインストールできます。`venv` や " +"`conda` のような仮想環境を使用することを推奨します。" + +#: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 +msgid "" +"Visit the `cwltool` " +"[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " +"details on installing `cwltool`." +msgstr "" +"`cwltool` を`apt` と`conda` " +"とともにインストールする他の方法については、`cwltool` " +"[ドキュメント](https://github.com/common-workflow-language/cwltool#install) " +"を参照してください。" + +#: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "簡単なCWLツール定義`true.cwl` で`cwltool` を使ってみましょう。" + +#: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a +msgid "`true.cwl`" +msgstr "`true.cwl`" + +#: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 +msgid "" +"The `cwltool` command has an option to validate CWL tool and workflow " +"descriptions. This option will parse the CWL document, look for syntax " +"errors, and verify that the workflow descriptions are compliant with the " +"CWL standards. However, these actions will be performed without running " +"the document. To validate CWL workflows (or even a standalone command " +"line tool description like the above) pass the `--validate` option to the" +" `cwltool` command:" +msgstr "" +"`cwltool` コマンドには、CWL " +"ツールおよびワークフロー定義を検証するオプションがあります。このオプションは、CWL文書を解析し、構文エラーを探し、ワークフロー記述がCWL標準に準拠しているかどうかを検証します。ただし、これらの操作は、ドキュメントを実行せずに行われます。CWLワークフロー(または上記のようなスタンドアロンコマンドラインツールの記述も)を検証するには、`cwltool`" +" コマンドに`--validate` オプションを渡します:" + +#: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "`cwltool` を使って `true.cwl` を検証します。" + +#: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "`--validate` オプションを省略することで、CWLツール定義を実行できます:" + +#: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b +msgid "Running `true.cwl` with `cwltool`." +msgstr "`cwltool` を使って `true.cwl` を実行します。" + +#: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac +msgid "Generic ``cwl-runner`` alias" +msgstr "一般的な ``cwl-runner`` エイリアス" + +#: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 +msgid "" +"`cwl-runner` is an implementation-agnostic alias for any CWL compliant " +"runner. This simply means that the `cwl-runner` alias command can be " +"invoked independently, and is not reliant on a particular CWL runner " +"program name. Users can invoke `cwl-runner` instead of invoking a CWL " +"runner like `cwltool` directly. The `cwl-runner` is installed by a system" +" administrator or user to point to the preferred CWL implementation. This" +" is convenient for environments with multiple CWL runners." +msgstr "" +"`cwl-runner` " +"は、CWL準拠のランナーに対する、実装にとらわれないエイリアスです。これは" +"、`cwl-runner` エイリアスコマンドを独立して呼び出すことができ、特定のCWL " +"runner のプログラム名に依存しないことを意味します。ユーザーは、`cwltool` " +"のようなCWL runnerを直接呼び出す代わりに、`cwl-runner` " +"を呼び出すことができます。`cwl-runner` は、システム管理者またはユーザーによっ" +"てインストールされ、好みのCWL実装を指します。これは、複数のCWL " +"runnerがある環境で便利です。" + +#: ../../src/introduction/prerequisites.md:88 6dd6aa836099469381fb564d63b84f3d +msgid "" +"The CWL community publishes a Python package with the name `cwlref-" +"runner` that installs an alias for `cwltool` under the name `cwl-runner`." +msgstr "" +"CWLコミュニティは、`cwlref-runner` " +"という名前のPythonパッケージを公開しており、`cwltool` のエイリアスを`cwl-" +"runner` という名前でインストールします。" + +#: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "cwltool のエイリアス `cwl-runner` を `pip` でインストールします。" + +#: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 +msgid "" +"Now you can validate and run your workflow with the `cwl-runner` " +"executable, which will invoke `cwltool`. You should have the same results" +" and output as in the previous section." +msgstr "" +"これで `cwl-runner` 実行ファイルを用いてワークフローを検証・実行し、`cwltool` " +"を呼び出すことができるようになりました。前のセクションと同じ結果と出力が得られるはずです。" + +#: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "検証`true.cwl` with`cwl-runner`." + +#: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "`cwl-runner` で `true.cwl` を 実行します。" + +#: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c +msgid "" +"Another way to execute `cwl-runner` is by invoking the file directly. For" +" that, the first thing you need to do is copy `true.cwl` workflow into a " +"new file: `true_shebang.cwl`, and include a special first line, a " +"*shebang*:" +msgstr "" +"`cwl-runner` を実行するもう一つの方法は、ファイルを直接起動することです。そのためには、まず`true.cwl` " +"ワークフローを新しいファイル`true_shebang.cwl` にコピーし、特別な最初の行、*shebang* を含める必要があります:" + +#: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d +msgid "`true_shebang.cwl`" +msgstr "`true_shebang.cwl`" + +#: ../../src/introduction/prerequisites.md:122 4f3cb8d1f9ce4e3d852e81aa4e0f60be +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "`chmod u+x` を実行することで、 `true_shebang.cwl` " +"を実行可能なファイルにできます。" + +#: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf +msgid "Making `true.cwl` executable." +msgstr "`true.cwl` 実行可能なものにする。" + +#: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa +msgid "" +"And finally, you can execute it directly in the command-line. On " +"execution, the program specified in the shebang (`cwl-runner`) will be " +"used to execute the rest of the file." +msgstr "" +"そして最後に、コマンドラインで直接実行できます。実行時には、shebangで指定され" +"たプログラム(`cwl-" +"runner`)が、ファイルの残りの部分を実行するために使用されます。" + +#: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "`true_shebang.cwl` をシェバングで実行する。" + +#: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 +msgid "" +"The *shebang* is the two-character sequence `#!` at the beginning of a " +"script. When the script is executable, the operating system will execute " +"the script using the executable specified after the shebang. It is " +"considered a good practice to use `/usr/bin/env [executable]` rather than" +" using a hard-coded location, since `/usr/bin/env [executable]` looks for" +" the `[executable]` program in the system `PATH`," +msgstr "" +"*shebang* (訳注:発音、シバン、シェバン)は、スクリプトの冒頭の2文字列`#!` の" +"ことです。スクリプトが実行可能な場合、オペレーティングシステムは、shebangの後" +"に指定された実行可能ファイルを使用してスクリプトを実行します。`/usr/bin/env " +"` は` ` プログラムを設定されている環境変数`PATH` " +"の中で探すので、ハードコードされた場所を使うよりも`/usr/bin/env `" +" を使うことが良い習慣と考えられています" + +#: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 +msgid "Text Editor" +msgstr "テキストエディタ" + +#: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f +msgid "" +"You can use any text editor with CWL, but for syntax highlighting we " +"recommend an editor with YAML support. Popular editors are Visual Studio " +"Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" +"CWLではどんなテキストエディタでも使えますが、シンタックスハイライトのために、YAMLをサポートするエディタをお勧めします。人気のあるエディタは、Visual" +" Studio Code、Sublime、WebStorm、vim/neovim、そしてEmacsです。" + +#: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 +msgid "" +"There are extensions for Visual Studio Code and WebStorm that provide " +"integration with CWL, and features such as customized syntax highlighting" +" and better auto-complete:" +msgstr "" +"Visual Studio " +"CodeとWebStormには、CWLとの統合を実現する拡張機能があり、カスタマイズされたシンタックスハイライトやより優れた自動補完などの機能が用意されています:" + +#: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b +msgid "" +"Visual Studio Code with the Benten (CWL) plugin - " +"" +msgstr "" +"Benten(弁天)(CWL)プラグインを使ったVisual Studio Code -" + +#: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca +msgid "" +"cwl-plugin for IntelliJ - " +msgstr "" +"IntelliJ 用 cwl-plugin -" + +#: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 +msgid "" +"The CWL community also maintains a list of editors and viewers: " +"" +msgstr "CWLコミュニティでは、エディターやビューアーのリストも管理しています:" + +#: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 +msgid "Docker" +msgstr "Docker" + +#: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe +msgid "" +"`cwltool` uses Docker to run tools, workflows, and workflow steps that " +"specify a software container. Follow the instructions in the Docker " +"documentation to install it for your operating system: " +"." +msgstr "" +"`cwltool` は、ツール、ワークフロー、およびワークフロー " +"ステップで指定されたソフトウェアコンテナをDockerを使用して実行します。Docker " +"ドキュメントの指示に従って、お使いのオペレーティングシステム合わせてインスト" +"ールしてください:." + +#: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 +msgid "" +"You do not need to know how to write and build Docker containers. In the " +"rest of the user guide, we will use existing Docker images for running " +"examples, and to clarify the differences between the execution models " +"with and without containers." +msgstr "" +"Dockerコンテナの書き方や構築方法を知っておく必要はありません。このユーザーガ" +"イドの残りの部分では、実行例として既存のDockerイメージを使用し、コンテナのあ" +"る実行モデルとない実行モデルの違いを明確にすることにします。" + +#: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc +msgid "" +"`cwltool` supports running containers with Docker, Podman, udocker, and " +"Singularity. You can also use alternative container registries for " +"pulling images." +msgstr "" +"`cwltool` は、Docker、Podman、udocker、Singularityによるコンテナの実行をサポ" +"ートしています。また、コンテナイメージを取得するために代替のコンテナレジスト" +"リを使用することもできます。" + +#: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 +msgid "" +"The [Implementations](basic-concepts.md#implementations) topic in the " +"next section, Basic Concepts." +msgstr "次項の「基本コンセプト」の[実装](basic-concepts.md#implementations)のトピックを参照してください。" + +#: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea +msgid "The Python `venv` module: " +msgstr "Python`venv` モジュール:" + +#: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 +msgid "Quick Start" +msgstr "クイックスタート" + +#: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 +msgid "" +"This section will show you a brief overview of what CWL is, and where you" +" can learn more about it. No previous knowledge of CWL is required, but " +"you must be comfortable following instructions for the command-line." +msgstr "" +"このセクションでは、CWLとは何か、またCWLについてもっと詳しく知ることができる" +"場所について、簡単に紹介します。CWLに関する予備知識は必要ありませんが、コマン" +"ドラインを使用することに慣れていると良いです。" + +#: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 +msgid "“Hello World”" +msgstr "\"Hello World\"" + +#: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b +msgid "" +"CWL documents are written in [YAML](../topics/index.md) (and/or JSON). " +"The example below shows a simple CWL “Hello World” workflow annotated " +"with comments. Note that comments start with `#`:" +msgstr "" +"CWLドキュメントは[YAML](../topics/index.md)(および/またはJSON)で書かれています。以下の例は、コメントで注釈されたシンプルなCWL" +" \"Hello World\" ワークフローを示しています。コメントは`#` で始まることに注意してください:" + +#: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 +msgid "`hello_world.cwl`" +msgstr "`hello_world.cwl`" + +#: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e +msgid "" +"The example above is just a wrapper for the `echo` command-line tool. " +"Running the workflow above with the default input values will produce the" +" same result as the command-line `echo \"Hello World\"`." +msgstr "" +"上記の例は、`echo` のCommandLineToolのラッパーに過ぎません。デフォルトの入力" +"値で上記のワークフローを実行すると、コマンドラインと同じ結果が得られます`" +"echo \"Hello World\"`." + +#: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 +msgid "" +"In CWL, there is a distinction between a command-line tool and a " +"workflow. But for the sake of simplicity, we are using the term " +"“workflow” here. You will learn more about this in the [basic concepts" +"](basic-concepts.md) section." +msgstr "" +"CWLでは、CommandLineToolとWorkflowは区別されています。しかし、ここでは簡略化" +"のため、「ワークフロー」という用語を使用しています。これについては、[基本概念" +"](basic-concepts.md)のセクションで詳しく説明します。" + +#: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d +msgid "Installing a CWL Runner" +msgstr "CWL Runnerのインストール" + +#: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 +msgid "" +"`cwltool` is an implementation of the CWL specification. It is also the " +"CWL *Reference Runner* for the specification, and it is compliant with " +"the latest version of the specification: {{ cwl_version }}. You can " +"install `cwltool` using `pip`:" +msgstr "" +"`cwltool` は、CWL仕様の実装の1つです。また、同仕様のCWL*Reference Runner* " +"でもあり、同仕様の最新バージョンに準拠しています:{{cwl_version " +"}}に準拠しています。`cwltool` は、`pip` を使ってインストールできます:" + +#: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 +msgid "Installing `cwltool` with `pip`." +msgstr "`cwltool` を`pip` でインストールします。" + +#: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e +msgid "" +"If installing the cwltool using the pip command doesn't work for you, the" +" [prerequisites](prerequisites.md) section contains other ways to install" +" `cwltool` and a more detailed list of software and libraries used for " +"following the rest of this user guide." +msgstr "" +"pipコマンドを使用してcwltoolをインストールしてもうまくいかない場合は、[前提条件](prerequisites.md)セクションに、`cwltool`" +" をインストールする他の方法と、このユーザーガイドの残りの部分を追うために使用するソフトウェアとライブラリのより詳細なリストがあります。" + +#: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 +msgid "Running \"Hello World\"" +msgstr "\"Hello World\"を実行する" + +#: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd +msgid "" +"The usage of the `cwltool` command-line executable is basically `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " +"`hello_world.cwl` workflow without specifying any option:" +msgstr "" +"基本的に `cwltool` の使い方は、`cwltool [OPTIONS] [CWL_DOCUMENT] " +"[INPUTS_OBJECT]`です。`hello_world.cwl` " +"Workflowは、オプションを指定せずに実行できます:" + +#: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "`cwltool` で`hello_world.cwl` を 実行します。" + +#: ../../src/introduction/quick-start.md:62 4306d8ad802f45c18487d932d04492fa +msgid "" +"Or you can override the default value of the input parameter `message`, " +"similar to how you would change the argument of the `echo` base command:" +msgstr "また、`echo` base コマンドの引数を変更するのと同様に、入力パラメータ`message` のデフォルト値を上書きすることもできます:" + +#: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "`cwltool` で`hello_world.cwl` " +"と、それに対する入力パラメータを渡して実行します。" + +#: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 +msgid "" +"Another way of passing values to your workflow input parameters is via an" +" *Inputs Object*. This is a file containing the input fields with their " +"corresponding values. The Inputs Objects file can be written in JSON or " +"YAML. For example:" +msgstr "" +"ワークフロー入力パラメータに値を渡すもう一つの方法は、*Inputs Object* " +"を介する方法です。これは、入力フィールドとその対応する値を含むファイルです。" +"Inputs Objects ファイルは、JSON または YAML " +"で記述できます。例えば、以下のようになります:" + +#: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 +msgid "`hello_world-job.json`" +msgstr "`hello_world-job.json`" + +#: ../../src/introduction/quick-start.md:80 c5983ba6c86f4b749522c11cb3843911 +msgid "" +"You can use this Inputs Object file now to execute the “Hello World” " +"workflow:" +msgstr "このInputs Objectファイルを使用して、「Hello World」ワークフローを実行することができるようになりました:" + +#: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "`cwltool` に Inputs Object ファイルを渡します。" + +#: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 +msgid "" +"We used a similar file name for the workflow and for the Inputs Object " +"files. The *-job.json* suffix is very common in Inputs Object files, but " +"it is not a requirement. You can choose any name for your workflows and " +"Inputs Object files." +msgstr "" +"ワークフローとInputs " +"Objectファイルには、同様のファイル名を使用しました。*-job.json* " +"という接尾辞は、Inputs Object " +"ファイルでは非常に一般的ですが必須ではありません。ワークフローとInputs " +"Objectファイルには、任意の名前を付けることができます。" + +#: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e +msgid "Continue reading the next sections of this User Guide!" +msgstr "このユーザーガイドの次のセクションを読み進めてください!" + +#: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "[CWL 実装一覧](https://www.commonwl.org/implementations)。" + +#: ../../src/introduction/quick-start.md:98 1c888f1b771d49b3a257ed534b5afa0a +msgid "" +"The [`common-workflow-language` organization](https://github.com/common-" +"workflow-language) at GitHub." +msgstr "" +"GitHubの[`common-workflow-language` organization](https://github.com" +"/common-workflow-language)です。" + +#: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 +msgid "" +"[Common Workflow Language at " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[Wikipedia上のCommon Workflow " +"Language](https://en.wikipedia.org/wiki/Common_Workflow_Language)。" + +#: ../../src/introduction/quick-start.md:100 dc714ffd4278421b9f2417f41627722c +msgid "" +"[YAML.org](http://yaml.org/) and [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) と " +"[WikipediaにあるYAML](https://en.wikipedia.org/wiki/YAML) です。" + +#: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa +msgid "" +"The {{'[CWL Specification " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." +msgstr "" +"{{'[CWL 仕様 VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }} のことです。" + +#: ../../src/introduction/quick-start.md:102 936a7dfab11a4f2c82c0b59964e3ea28 +msgid "" +"[Workflow management system at " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "[Wikipediaの項目としてのワークフロー管理システム](https://en.wikipedia.org/wiki/Workflow_management_system)。" + +#: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. The information on this page has been migrated to the " +"[FAQ](/faq.md) section of the new user guide." +msgstr "" +"このページは古いもので、旧ユーザーガイドのリンクを保存するためにここに残され" +"ていました。このページの情報は、新しいユーザーガイドの [FAQ](/faq.md) " +"セクションに移行されました。" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 3843684b039a40dea163de951ca56738 +msgid "Additional Arguments and Parameters" +msgstr "追加の引数とパラメータ" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: a6fd1842b938435aa2a3c889019eec71 +msgid "" +"Sometimes tools require additional command line options that don't " +"correspond exactly to input parameters." +msgstr "ツールには、入力パラメータに正確に対応しない追加のコマンドラインオプションが" +"必要な場合があります。" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: dfed0747ed544547afd364086d828c9b +msgid "" +"In this example, we will wrap the Java compiler to compile a java source " +"file to a class file. By default, \"javac\" will create the class files " +"in the same directory as the source file. However, CWL input files (and " +"the directories in which they appear) may be read-only, so we need to " +"instruct \"javac\" to write the class file to the designated output " +"directory instead." +msgstr "" +"この例では、Javaコンパイラを使用して、javaソースファイルをclassファイルにコン" +"パイルするようにラップします。 デフォルトでは、\"javac " +"\"はjavaファイルと同じディレクトリにclassファイルを作成します。 しかし、CWL" +"の入力ファイル(およびそのディレクトリ)は読み取り専用である場合があるので、" +"代わりに指定された出力ディレクトリにclassファイルを書き込むように「javac」に" +"指示する必要があります。" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: e690b567eae34f3f8dbdd7760e51449a +msgid "`arguments.cwl`" +msgstr "`arguments.cwl`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 4cee519b108143be89a0e47a75d7d649 +#: 79585673fd654bab9ba7c1927d7e153b +msgid "`arguments-job.yml`" +msgstr "`arguments-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: ef070ebe5f7245489b05660fb6d7c178 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "次に、CommandLineToolで使用するサンプルJavaファイルを作成します。" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 4ae43e3e841442039e4bb8c740096c56 +msgid "" +"And now invoke `cwltool` providing the tool description and the input " +"object on the command line:" +msgstr "そして、コマンドラインでツール定義と入力オブジェクトを渡して`cwltool` を起動します:" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 8497291577914eb3a172c1ffb736d95d +msgid "" +"Here we use the `arguments` field to add an additional argument to the " +"command line that isn't tied to a specific input parameter." +msgstr "ここでは、`arguments` フィールドを使用して、特定の入力パラメータに結びつかない追加の引数をコマンドラインに追加しています。" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: dc9fa5f2cbb147b1853c4042c54010f3 +msgid "" +"This example references a runtime parameter. Runtime parameters provide " +"information about the hardware or software environment when the tool is " +"actually executed. The `$(runtime.outdir)` parameter is the path to the " +"designated output directory. Other parameters include " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " +"Environment][runtime] section of the CWL specification for details." +msgstr "" +"この例では、runtimeパラメータを参照しています。 runtimeパラメータは、ツール" +"が実際に実行されたときのハードウェアまたはソフトウェア環境に関する情報を提供" +"します。 ` $(runtime.outdir)` " +"パラメータは、指定された出力ディレクトリへのパスです。 その他、`$(runtime." +"tmpdir)`,`$(runtime.ram)`,`$(runtime.cores)`,`$(runtime." +"outdirSize)`,`$(runtime.tmpdirSize)` などがあります。 詳細はCWL仕様書の[" +"Runtime Environment][runtime]の項を参照してください。" + +#: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe +msgid "Best Practices" +msgstr "ベストプラクティス" + +#: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +msgid "" +"The following 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: although more is better, not all are required." +msgstr "" +"以下は、ツールやワークフローのCWL定義を書く際に留意すべき推奨グッドプラクティ" +"スのセットです。これらのガイドラインは、有用性の尺度で検討するために提示され" +"ています:多ければ多いほど良いが、すべてが必要なわけではありません。" + +#: ../../src/topics/best-practices.md:8 2292670347cd4549bc6a51e972de0ef4 +msgid "" +"No `type: string` parameters for names of input or reference " +"files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" +"入力または参照のファイルやディレクトリの名前に `type: string` を使用しません。 `type:File` または `type: " +"Direcotry` を適宜使用します。" + +#: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +msgid "" +"A CWL document (in conjunction with any external components like " +"`Dockerfile`s) is software code. Workflow developers should be aware that" +" the usual rules of software licensing apply to this document. For " +"example, if the workflow is shared publicly, licensing terms must be " +"clear so that a future user understands under what conditions they can " +"run the workflow, modify it and/or combine it with other workflows. For " +"this reason, please consider including a license field in the document. " +"The authors of this guide urge you to choose a pre-existing license " +"rather than trying to write your own (see the link below to learn more " +"about choosing a license), and our recommended practice is to choose a " +"license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" +"license]." +msgstr "" +"CWL 定義(`Dockerfile`のような外部コンポーネントと合わせて)は、ソフトウェア" +"コードです。ワークフロー開発者は、ソフトウェアライセンスに関する通常の規則が" +"このCWL定義に適用されることを認識する必要があります。例えば、ワークフローが一" +"般に共有される場合、将来のユーザーがどのような条件でワークフローを実行、修正" +"、および/または他のワークフローと組み合わせることができるかを理解するために、" +"ライセンス条項は明確でなければなりません。このような理由から、CWL定義にライセ" +"ンスフィールドを含めることを検討してください。このガイドの著者は、独自のライ" +"センスを作成するのではなく、既存のライセンスを選択することをお勧めします(ラ" +"イセンスの選択について詳しくは、以下のリンクを参照してください)。そして、私" +"たちの推奨する実践は、誰でも再利用できるライセンスを選択することです。例えば " +"[Apache 2.0][apache-license]です。" + +#: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +msgid "" +"If possible, the license should be specified with its corresponding [SPDX" +" identifier][spdx]. Construct the metadata field for the license by " +"providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where " +"`SPDX-ID` is taken from the list of identifiers linked above. See the " +"example snippet below for guidance. For non-standard licenses without an " +"SPDX identifier, provide a URL to the license." +msgstr "" +"可能であれば、ライセンスは対応する [SPDX 識別子][spdx] " +"と共に指定されるべきです。`https://spdx.org/licenses/[SPDX-ID]` (`SPDX-ID` " +"は、上記のリンク先の識別子のリストから選択) という形式の URL を指定して、ライ" +"センスのメタデータフィールドを構築します。以下の例を参照してください。SPDX識" +"別子のない非標準ライセンスの場合は、そのライセンスへのURLを指定します。" + +#: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b +msgid "" +"Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" +"Programmer][sci-license]\"" +msgstr "" +"参考文献:\"[A Quick Guide to Software Licensing for the Scientist-Programmer" +"][sci-license]\"" + +#: ../../src/topics/best-practices.md:28 5b976a5aec7d44bda55b0a019e955416 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "_SPDX 識別子を持つライセンスのメタデータフィールドの例:_" + +#: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 +msgid "" +"For more examples of providing metadata within CWL descriptions, see [the" +" Metadata and Authorship section of this User Guide](../topics/metadata-" +"and-authorship.md)." +msgstr "" +"CWL定義にメタデータを与える例については、 " +"[このユーザーガイドのメタデータと著者名のセクション](../topics/metadata-and-" +"authorship.md)を参照してください。" + +#: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be +msgid "" +"Include [attribution information][license-example] for the author(s) of " +"the CWL tool or workflow description. Use unambiguous identifiers like " +"[ORCID][orcid]." +msgstr "" +"CWLツールやワークフローの定義の著者の[帰属情報][license-" +"example]を含みます。[ORCID][orcid]のような曖昧でない識別子を使用してください。" + +#: ../../src/topics/best-practices.md:44 87030aef02044b8283c76debab4772bf +msgid "" +"In tool descriptions, list dependencies using short name(s) under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" +"ツール定義では、[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#SoftwareRequirement)." +"の下に、短い名前を使用して依存関係をリストアップします。" + +#: ../../src/topics/best-practices.md:47 6c9eaae099fa4ca4b0986b1c4146df50 +msgid "" +"Include [SciCrunch][scicrunch] identifiers for dependencies in " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` 形式で依存関係のための " +"[SciCrunch][scicrunch] 識別子を書きます。" + +#: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc +msgid "" +"All `input` and `output` identifiers should reflect their conceptual " +"identity. Use informative names like `unaligned_sequences`, " +"`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " +"`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" +"`input` および`output` " +"の識別子はすべて、その概念的同一性を反映する必要があります。`foo_input`,`foo_file`,`result`,`input`,`output`," +" などの代わりに`unaligned_sequences`,`reference_genome`,`phylogeny`, " +"または`aligned_sequences` などの情報量の多い名称を使ってください。" + +#: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a +msgid "" +"In tool descriptions, include a list of version(s) of the tool that are " +"known to work with this description under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" +"ツール定義では、[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#SoftwareRequirement)の下に、このツール定義で動作することが確認されている" +"ツールのバージョンのリストを書きます。" + +#: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 +msgid "" +"`format` should be specified for all input and output `File`s. " +"Bioinformatics tools should use format identifiers from [EDAM][edam-" +"example]. 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][iana-types] (also known as MIME " +"types). For non-bioinformatics tools, use or build an appropriate " +"ontology/controlled vocabulary in the same way. Please edit this page to " +"let us know about it." +msgstr "" +"`format` は、すべての入力および出力`File`に指定する必要があります。バイオイン" +"フォマティクスツールは、[EDAM][edam-" +"example]のフォーマット識別子を使用するのが良いです。`iana:text/plain`,`iana:" +"text/tab-separated-values`、`$namespaces:{ iana: \"https://www.iana.org/" +"assignments/media-types/\" }` も参照してください`.[IANA メディアタイプ一覧" +"][iana-types](MIME タイプとしても知られています)。バイオインフォマティクス" +"以外のツールについては、同様に適切なオントロジー/統制語彙を使用または構築して" +"ください。このページを編集して私たちに知らせてください。" + +#: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 +msgid "" +"Mark all input and output `File`s that are read from or written to in a " +"streaming compatible way (only once, no random-access), as `streamable: " +"true`." +msgstr "" +"`File`の入出力のうち、ストリーミング互換の方法(一度だけ利用されて、ランダム" +"アクセスなし、訳注標準入出力のイメージ)で読み書きされるものを、`streamable: " +"true` としてマークします。" + +#: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 +msgid "" +"Each " +"[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool)" +" description should focus on a single operation only, even if the " +"(sub)command is capable of more. Don't overcomplicate your tool " +"descriptions with options that you don't need or use." +msgstr "" +"各[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool." +"html#CommandLineTool) の定義は、たとえ(サブ)コマンドがそれ以上の機能を備え" +"ていたとしても、一つの使用方法のみに焦点を当てるべきです。必要ないまたは、使" +"用しないオプションでツールの定義を複雑にし過ぎないようにしましょう。" + +#: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d +msgid "" +"Custom types should be defined with one external YAML per type definition" +" for re-use." +msgstr "カスタム型は、型定義ごとに1つの外部YAMLで定義すると再利用しやすくなります。" + +#: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "ツール/ワークフローを要約したトップレベルの短い`label` を含めます。" + +#: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 +msgid "" +"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)." +msgstr "" +"有用であれば、トップレベル`doc` も含めてください。これは、トップレベル`label` " +"(上記参照)で提供されたものより長く詳細な説明を記述します。" + +#: ../../src/topics/best-practices.md:82 d92013d662b44dbf8875e06c9dfbfd79 +msgid "" +"Use `type: enum` instead of `type: string` for elements with a fixed list" +" of valid values." +msgstr "有効な値のリストが決まっている要素には、`type: string` の代わりに、`type: enum` を使用してください。" + +#: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf +msgid "" +"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][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc., could be used instead." +msgstr "" +"JavaScriptのすべての使用について、削除または置換の可能性を評価します。よくあ" +"る例:`File` の名前とパスを操作する方法は?`basename`,`nameroot`,`nameext`, " +"などの [ビルトイン`File` プロパティ][file-prop] " +"のいずれかを代わりに使用できないか考えてみてください。" + +#: ../../src/topics/best-practices.md:90 e22fbacdb2fb4202b1bd69cfc24af5cd +msgid "" +"Give the tool description to a colleague (preferably at a different " +"institution) to test and provide feedback." +msgstr "ツール定義を同僚(できれば別の機関の人)に渡し、テストしてもらい、フィードバックをもらいましょう。" + +#: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 +msgid "" +"Complex workflows with individual components which can be abstracted " +"should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" +" their workflow modular and allow sections of them to be easily reused." +msgstr "抽象化できる個々のコンポーネントを持つ複雑なワークフローは、ワークフローをモジュール化し、その一部を容易に再利用できるようにするために、[`SubworkflowFeatureRequirement`][subworkflow]を利用します。" + +#: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab +msgid "" +"Software containers should be made to be conformant to the " +"[\"Recommendations for the packaging and containerizing of bioinformatics" +" software\"][containers] (also useful to other disciplines)." +msgstr "" +"ソフトウェアのコンテナは、[\"Recommendations for packaging and " +"containerizing of bioinformatics software\"][containers] " +"に準拠するようにします(他の分野でも有用です)。" + +#: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 +msgid "Command Line Tool" +msgstr "コマンドラインツール" + +#: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e +msgid "" +"A command-line tool is a type of Process object that can be run by itself" +" or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, " +"`tar`, etc. The command-line tool is defined in the `baseCommand` " +"attribute of the command-line tool CWL document." +msgstr "" +"CommandLineToolは、Processオブジェクトの一種であり、それ自体またはワークフロ" +"ーのステップとして実行できます。`ls`,`echo`,`tar` などの実行したいコマンドの" +"ラッパーです。実行したいコマンドは、CommandLineToolについてのCWL定義の`baseCo" +"mmand` 属性で定義されています。" + +#: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 +msgid "" +"A CWL command-line tool must also have `inputs` and `outputs`. The " +"following example contains a minimal example of a CWL command-line tool " +"for the `echo` Linux command, using inputs and outputs." +msgstr "" +"CWL CommandLineToolは、`inputs` と`outputs` " +"も持っていなければなりません。次の例は、Linuxコマンド `echo` のためのCWL " +"CommandLineToolの最小限の例で、inputsとoutputsを使用します。" + +#: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 +msgid "CWL command-line tool." +msgstr "CWLコマンドラインツール。" + +#: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f +msgid "`echo.cwl`" +msgstr "`echo.cwl`" + +#: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f +msgid "" +"The example above uses a simplified form to define inputs and outputs. " +"You will learn more about in the [Inputs](../topics/inputs.md) and in the" +" [Outputs](../topics/outputs.md) sections." +msgstr "" +"上記の例では、簡略化した形で入力と出力を定義しています。[Inputs](../topics/" +"inputs.md)と[Outputs](../topics/outputs." +"md)のセクションで、より詳しく説明する予定です。" + +#: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 +msgid "Network Access" +msgstr "ネットワークアクセス" + +#: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 +msgid "" +"This indicates whether a process requires outgoing IPv4/IPv6 network " +"access. Starting with CWL v1.1, programs are not granted network access " +"by default, so you must include the requirement for network access in the" +" specification of your tool." +msgstr "" +"これは、プロセスが送信先としてIPv4/" +"IPv6ネットワーク・アクセスを必要とするかどうかを示します。 CWL v1.1以降、プロ" +"グラムにはデフォルトでネットワーク・アクセス権が付与されないため、ツール定義" +"にネットワーク・アクセスの要件を含める必要があります。" + +#: ../../src/topics/command-line-tool.md:84 3282a357799f4a72a6b8bace206144c4 +msgid "" +"CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 or v1.2 " +"will have `networkAccess: true` set automatically." +msgstr "" +"CWL v1.0のコマンドラインツールをv1.1またはv1." +"2にアップグレードすると、自動的に`networkAccess: " +"true`が追加されネットワークアクセスできるようになります。" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: 17c5b4ee43cc4a979676ad27e473d046 +msgid "Creating Files at Runtime" +msgstr "実行時にファイルを作成する" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: cd0dff10471c4ad2b84e3a0e4d7767ea +msgid "" +"Sometimes you need to create a file on the fly from input parameters, " +"such as tools that expect to read their input configuration from a file " +"rather than the command line parameters, or need a small wrapper shell " +"script." +msgstr "" +"コマンドラインパラメーターではなく、ファイルから入力設定を読み込むことを期待" +"するツールや、小さなラッパーシェルスクリプトが必要な場合など、入力パラメータ" +"ーからその場でファイルを作成する必要があることがあります。" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: bf4aea0a22334a1ca75cc20e937e6581 +msgid "" +"To generate such files, we can use the " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." +msgstr "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InitialWorkDirRequirement)を使ってそのうようなファイルを生成します。" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: 008f768d56b8465bb4e8f4fde15853a7 +msgid "`createfile.cwl`" +msgstr "`createfile.cwl`" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: 252f8e897b0942a8be098481890005f3 +msgid "" +"Any [expressions](../topics/expressions.md) like `$(inputs.message)` are " +"expanded by the CWL engine before creating the file. Here, insert the " +"value at the input `message`." +msgstr "" +"`$(inputs.message)` のような [Expressions](../topics/expressions.md)は、ファ" +"イルを作成する前にCWL実行エンジンによって展開されます。ここでは、入力パラメー" +"タ`message` に値を挿入します。" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: aca24b72687c4d4d84bf9de8b71413f7 +msgid "" +"The _CWL expressions_ are independent of any _shell variables_ used later" +" during command line tool invocation. That means that any genuine need " +"for the character `$` must be **escaped** with `\\`. For instance, " +"`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " +"be evaluated by the shell script instead of the CWL engine." +msgstr "" +"_CWL expressions_ は、コマンドラインツール起動時に使用される_shell " +"variables_ とは無関係です。つまり、`$` という文字が本当に必要な場合は、`\\` " +"で**エスケープ**する必要があります。例えば,上記の`\\${PREFIX}` は,CWLエンジ" +"ンの代わりにシェルスクリプトで評価されるように,生成されたファイルでは`${PREF" +"IX}` に展開されます。" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 750b3232e8754448bc2b5913539495b8 +msgid "" +"To test the above CWL tool, use this job to provide the input value " +"`message`:" +msgstr "上記のCWLツールをテストするために、このジョブを使用して、入力値`message` を与えます:" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 ../../src/topics/outputs.md:81 +#: 687c8a84bade43269f3cd767d32f9f47 81da7a18fe8d4659abc883cf43009f1f +#: d5d67eae63304ebb9b242133feacb0d1 +msgid "`echo-job.yml`" +msgstr "`echo-job.yml`" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: c4f964450d014734877fb3c968353a74 +msgid "" +"Before we run this, let us look at each step in a little more detail. The" +" base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " +"command `sh example.sh`. This will run the file we create in the shell." +msgstr "" +"これを実行する前に、各ステップをもう少し詳しく見てみましょう。ベースコマンド`baseCommand: [\"sh\", " +"\"example.sh\"]` は、`sh example.sh` というコマンドを実行します。これで、作成したファイルがシェルで実行されます。" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 9aeea5a6a4244bc7a1626e0cb7351068 +msgid "" +"`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a " +"YAML array, we need a `-` on the first line of each element of the array," +" in this case we have just one element. `entryname:` can have any value, " +"but it must match what was specified in the `baseCommand`. The final part" +" is `entry:`, this is followed by `|-` which is YAML quoting syntax, and " +"means that you are using a multiline string (without it, we would need to" +" write the whole script on one line)." +msgstr "" +"`InitialWorkDirRequirement` は`listing` を必要とします。`listing` は YAML " +"配列なので、配列の各要素の行の最初に`-` が必要です。この場合、要素は 1 " +"つだけです。`entryname:` は任意の値を指定できますが、`baseCommand` " +"で指定したものと一致していなければなりません。最後の部分は`entry:` " +"で、この後に`|-` が続きます。これは YAML の引用構文で、" +"複数行の文字列を使用していることを意味します (これがなければ、" +"スクリプト全体を 1 行で記述する必要があります)." + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 867239e9ad3d4187a2703662a0ca3976 +msgid "" +"See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " +"formatting." +msgstr "フォーマットについては、[YAMLガイド](../topics/yaml-guide.md#maps)を参照してください。" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 ../../src/topics/workflows.md:198 +#: 0d7151b9f0194197bd686fe6c9c47afd 78bb40eeeda24d7b923162daa45d51a7 +#: 7b341a317347482ca86fc56119c3686f 7c637fa62cab4d0dbe670a3b72737cc9 +#: cfb4605a01dd4475aabcc086a4e65957 +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line:" +msgstr "ここで、コマンドラインにツール定義と入力オブジェクトを指定して、`cwltool` を起動します:" + +#: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c +msgid "Custom Types" +msgstr "カスタムタイプ" + +#: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 +msgid "" +"Sometimes you may want to write your own custom types for use and reuse " +"in CWL descriptions. Use of such custom types can reduce redundancy " +"between multiple descriptions that all use the same type, and also allow " +"for additional customisation/configuration of a tool/analysis without the" +" need to fiddle with the CWL description directly." +msgstr "" +"CWL定義で使用・再利用するために、独自のカスタム型を書きたい場合があります。こ" +"のようなカスタムタイプを使用することで、同じタイプを使用する複数の記述の間の" +"冗長性を減らし、また、CWL定義を直接いじらずに、ツールや分析のカスタマイズや設" +"定を追加できるようになります。" + +#: ../../src/topics/custom-types.md:9 8367e38e5e7c4a298d1d87b9001aaddc +msgid "" +"The example below is a CWL description of the [biom convert format][biom]" +" tool for converting a standard biom table file to hdf5 format." +msgstr "以下の例は、標準的なbiomテーブルファイルをhdf5形式に変換する[biom convert format][biom] ツールのCWL定義です。" + +#: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 +msgid "`custom-types.cwl`" +msgstr "`custom-types.cwl`" + +#: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 +msgid "`custom-types.yml`" +msgstr "`custom-types.yml`" + +#: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 +msgid "" +"___Note:___ To follow the example below, you need to [download the " +"example input file](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " +"`wget`:" +msgstr "" +"___注意:___ 以下の例に行うには、`wget`などで*rich_sparse_otu_table." +"biom*という[入力ファイルをダウンロード](https://github.com/" +"common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/" +"rich_sparse_otu_table.biom)する必要があります:" + +#: ../../src/topics/custom-types.md:30 a48539920c4944898918bc90b2d4e3c9 +msgid "" +"On line 29, in `inputs:table_type`, a list of allowable table options to " +"be used in the table conversion are imported as a custom object:" +msgstr "" +"29行目の`inputs:table_type` " +"で、テーブル変換で使用できるテーブルオプションのリストがカスタムオブジェクトとしてインポートされます:" + +#: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 +msgid "" +"The reference to a custom type is a combination of the name of the file " +"in which the object is defined (`biom-convert-table.yaml`) and the name " +"of the object within that file (`table_type`) that defines the custom " +"type. In this case the `symbols` array from the imported `biom-convert-" +"table.yaml` file define the allowable table options. For example, in " +"`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" +" to create an OTU table in hdf5 format." +msgstr "" +"カスタムタイプの参照は、そのオブジェクトが定義されているファイル名(`biom-" +"convert-table.yaml` " +")と、カスタムタイプを定義するそのファイル内のオブジェクト名(`table_type` " +")を組み合わせたものです。この場合、インポートされた`biom-convert-table.yaml`" +" ファイルからの`symbols` " +"配列が、許容されるテーブルオプションを定義します。例えば、`custom-types.yml` " +"では、`OTU table` を`input` として渡し、hdf5 形式の OTU table " +"を作成するようツールに指示しています。" + +#: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "カスタムタイプを記述するYAMLファイルの内容を以下に示します:" + +#: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 +msgid "`biom-convert-table.yaml`" +msgstr "`biom-convert-table.yaml`" + +#: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd +msgid "" +"In order for the custom type to be used in the CWL description, it must " +"be imported. Imports are described in " +"`requirements:SchemaDefRequirement`, as below in the example `custom-" +"types.cwl` description:" +msgstr "" +"カスタム型をCWL定義で使用するためには、インポートする必要があります。インポートについては、`requirements:SchemaDefRequirement`" +" で定義されており、例として`custom-types.cwl` の定義にあるように、インポートされます:" + +#: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 +msgid "" +"Note also that the author of this CWL description has also included " +"[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s," +" specifying the minimum amount of RAM and number of cores required for " +"the tool to run successfully, as well as details of the version of the " +"software that the description was written for and other useful metadata. " +"These features are discussed further in other chapters of this user " +"guide." +msgstr "" +"また、この CWL 定義には、[`ResourceRequirement`](https://w3id.org/cwl/" +"CommandLineTool." +"html#ResourceRequirement)も含まれていることに注意してください。これは、" +"ツールが正常に動作するために必要な最小限の RAM の量とコアの数、さらにその定義" +"に書かれたソフトウェアのバージョンの詳細やその他の有用なメタデータを指定する" +"ものです。これらの機能については、このユーザーガイドの他の章で詳しく説明しま" +"す。" + +#: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a +msgid "Environment Variables" +msgstr "環境変数" + +#: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d +msgid "" +"Tools run in a restricted environment and do not inherit most environment" +" variables from the parent process. You can set environment variables " +"for the tool using `EnvVarRequirement`." +msgstr "" +"ツールは制限された環境で実行されるため、親プロセスからほとんどの環境変数を引き継ぎません。 " +"ツールの環境変数は、`EnvVarRequirement` を使って設定できます。" + +#: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f +msgid "`env.cwl`" +msgstr "`env.cwl`" + +#: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd +msgid "Expression Tool" +msgstr "Expression Tool" + +#: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +msgid "" +"An expression tool is a type of Process that can be run by itself or as a" +" Workflow step. It executes a pure JavaScript expression. It is meant to " +"be used as a way to isolate complex JavaScript expressions that need to " +"operate on input data and produce some result as output." +msgstr "" +"ExpressionToolは、それ自体またはワークフローのステップとして実行することがで" +"きるProcessの一種です。純粋な JavaScript 式を実行します。入力データを操作し、" +"出力として結果を生成する必要がある複雑な JavaScript " +"式を分離する方法として使用されることを意図しています。" + +#: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +msgid "" +"Similar to the command-line tool it requires `inputs` and `outputs`. But " +"instead of `baseCommand`, it requires an " +"[`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional))" +" attribute." +msgstr "" +"CommandLinetToolと同様に、`inputs` と`outputs` " +"が必要です。しかし、`baseCommand` の代わりに、[`expression`](https://w3id." +"org/cwl/CommandLineTool.html#Expressions_(Optional)) 属性を必要とします。" + +#: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 +msgid "CWL expression tool." +msgstr "CWL expression tool." + +#: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 +msgid "`uppercase.cwl`" +msgstr "`uppercase.cwl`" + +#: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +msgid "" +"We had to use an " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" as our expression contains a JavaScript call in `.toUpperCase()`. This " +"means to tools using the expression tool that JavaScript is a " +"requirement." +msgstr "" +"この式には`.toUpperCase()` で JavaScript の呼び出しが含まれているため、 " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InlineJavascriptRequirement) を使用する必要があります。これは、Expressio" +"nToolを使用するツールにとって、JavaScriptが必要であることを意味します。" + +#: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 +msgid "Expressions" +msgstr "Expressions" + +#: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec +msgid "" +"If you need to manipulate input parameters, include the requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" and then anywhere a parameter reference is legal you can provide a " +"fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" +"入力パラメータを操作する必要がある場合は、[`InlineJavascriptRequirement`](htt" +"ps://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement) " +"を含めると、パラメータ参照が合法な場所であれば、CWL " +"runnerによって評価されるJavascriptを使用できます。" + +#: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +msgid "" +"JavaScript expressions should only be used when absolutely necessary. " +"When manipulating file names, extensions, paths etc, consider whether one" +" of the [built in `File` properties][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc, could be used instead. See the [list of best " +"practices](best-practices.md)." +msgstr "" +"JavaScript の式は、絶対に必要な場合のみ使用するようにしてください。ファイル名" +"、拡張子、パスなどを操作する場合は、`basename`,`nameroot`,`nameext`, などの " +"[`File` のビルトインプロパティ][file-prop] のいずれかを代わりに使用できるかど" +"うかを検討してください。[ベストプラクティスのリスト](best-practices." +"md)を参照してください。" + +#: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 +msgid "`expression.cwl`" +msgstr "`expression.cwl`" + +#: ../../src/topics/expressions.md:22 72a0558a83964796a8c1a0eb55fd78e8 +msgid "" +"As this tool does not require any `inputs` we can run it with an (almost)" +" empty job file:" +msgstr "このツールは`inputs` " +"を必要としないので、(ほとんど)空のジョブファイルで実行できます:" + +#: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf +msgid "`empty.yml`" +msgstr "`empty.yml`" + +#: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +msgid "" +"`empty.yml` contains a description of an empty JSON object. JSON objects " +"descriptions are contained inside curly brackets `{}`, so an empty object" +" is represented simply by a set of empty brackets." +msgstr "" +"`empty.yml` には、空のJSONオブジェクトの記述があります。JSONオブジェクトの記述は、中括弧`{}` " +"の中に含まれるので、空のオブジェクトは、単に空の括弧のセットで表されます。" + +#: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 +msgid "We can then run `expression.cwl`:" +msgstr "次に、`expression.cwl` を実行できます:" + +#: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d +msgid "Running `expression.cwl`" +msgstr "`expression.cwl` を実行する" + +#: ../../src/topics/expressions.md:47 f6f64d57a50742b19b801c14806ee18a +msgid "" +"Note that requirements can be provided with the map syntax, as in the " +"example above:" +msgstr "なお、上の例のように、map構文で requirements を指定することも可能です:" + +#: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 +msgid "" +"Or as an array, with each entry (in this case, only `class: " +"InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" +" describe the additional command line arguments." +msgstr "" +"または配列として、各エントリ(この場合、`class: InlineJavascriptRequirement` " +"だけです)に`-` " +"を付けます。同じ構文で、追加のコマンドライン引数を定義します。" + +#: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 +msgid "Where are JavaScript expressions allowed?" +msgstr "JavaScriptはどこで使えますか?" + +#: ../../src/topics/expressions.md:64 8c3b402c40f64880a4bd42c47b910254 +msgid "" +"Just like [parameter references](parameter-references.md), you can use " +"JavaScript Expressions only in certain fields. These are:" +msgstr "" +"[パラメータ参照](parameter-references.md)と同様に、JavaScript " +"式は特定のフィールドにのみ使用できます。 以下はその例です:" + +#: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc +msgid "" +"From " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineTool)から" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 7ab0dbd54c1441539673fa12ef96b89e +#: e76c6ece0c594fefa86b190879c5acaa +msgid "`arguments`" +msgstr "`arguments`" + +#: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 0209558b1013471eb708698537edaf06 +#: 4458393fdb0e451f9806e91122ea2534 594a163e08f04aa5a04a44a303a1c643 +#: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 +#: af2cdb5f66ac4fd5b8f91258f005cc62 +msgid "`valueFrom`" +msgstr "`valueFrom`" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e +#: f9a6718845e24f46b76fcc8ab26eec7a +msgid "`stdin`" +msgstr "`stdin`" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 +#: 7f5ce097ca0442a6a200599342a6e24b +msgid "`stdout`" +msgstr "`stdout`" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 +#: 7b14686e16eb4f488659b22d67ec3bfa +msgid "`stderr`" +msgstr "`stderr`" + +#: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 +msgid "" +"From " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandInputParameter)から" + +#: ../../src/topics/expressions.md:73 ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 24f27702d0684bc98e3232103510232e +#: 26a8dff7b80c4e059f1e20eef9da6203 476aa37af5214bcf963c7aab1f859273 +#: 4b0a0cd934bd41b4b55c034b91392bc7 5182e2165e44429287b4d924c2f896a4 +#: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 +#: b301751f90af4700bbada5e5b166be35 +msgid "`format`" +msgstr "`format`" + +#: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 2c2b8db396b04ace8aa396c0a5a4858f +#: 33a9b77ce15b4910962a7f08bd2f47a3 57cba0191de3470bbe112ed2a0d3f252 +#: 6efe998094b3469eae61cfff551b1eb1 776de1ecfafc41ada7e916addd7229fd +#: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 +#: faa7d521fec240748407d03ffdb93aa0 +msgid "`secondaryFiles`" +msgstr "`secondaryFiles`" + +#: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a +msgid "" +"From " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)から" + +#: ../../src/topics/expressions.md:77 0e2052e16f6a41b8983dc64b4b3a7586 +msgid "" +"From " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)から" + +#: ../../src/topics/expressions.md:80 dff31dd961d540e3b8cd1247e978d60e +msgid "" +"From " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)から" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 249aba7c38ce49379b9d35e7ad81a0bf +#: 5a354eb4883948e0a2b5c96b5ae12da7 +msgid "`glob`" +msgstr "`glob`" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df +#: 9e477e2cfab24861b517fe2fb52962f4 +msgid "`outputEval`" +msgstr "`outputEval`" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 9448462d104b4be5904623c85a9e16b7 +#: bf11a7a72147445c9b8e44b541e09f36 +msgid "From [`Workflow`](https://w3id.org/cwl/Workflow.html)" +msgstr "[`Workflow`](https://w3id.org/cwl/Workflow.html)から" + +#: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) " +"と [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowOutputParameter)から" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 7918d0661be746faaddf25ad49172f30 +#: b8439dbaa949427097e25ccb48fe15ee +msgid "From `steps`" +msgstr "`steps`から" + +#: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 +msgid "" +"From " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput)から" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 +#: ab1ba7626eae483a8b614ee4cd5bab6f +msgid "" +"From " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow." +"html#ExpressionTool)から" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 595b9ddcee734d6595c1b4b2d169dcb8 +#: 80b55c77a4384644acfc9472c3cedee0 +msgid "`expression`" +msgstr "`expression`" + +#: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" と " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)から" + +#: ../../src/topics/expressions.md:95 32b1a39cca1a4402af9bdc0abc4d70c8 +msgid "" +"From " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool." +"html#ResourceRequirement)から" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 2518d499801e4bcf82e9e4666280504d +#: 98a511d138e9497c923963c2ca5f0a0b +msgid "`coresMin`" +msgstr "`coresMin`" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b +#: e84bc5505a6549ae9aacde8cb9225403 +msgid "`coresMax`" +msgstr "`coresMax`" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 +#: e698ea756fe94e99837312fb30c9f9bf +msgid "`ramMin`" +msgstr "`ramMin`" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 +#: bef90c153d4f4397b1f69f9beb38f7e6 +msgid "`ramMax`" +msgstr "`ramMax`" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd +#: e2bdf4fe676346cbb4443ee54fb7419b +msgid "`tmpdirMin`" +msgstr "`tmpdirMin`" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 +#: 8f1665baca2e4e3b96026b50d132709a +msgid "`tmpdirMax`" +msgstr "`tmpdirMax`" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 +#: d169949866a24e31947dffcb94620c5f +msgid "`outdirMin`" +msgstr "`outdirMin`" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 +msgid "`outdirMax`" +msgstr "`outdirMax`" + +#: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc +msgid "" +"From " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)から" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 21e9582891cf4b87a7ee4693663040fa 51bc6d1ccef14729a0d5e63b56d73d20 +msgid "`listing`" +msgstr "`listing`" + +#: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "[Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)に" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: 29c2424fc7dc43e68c9bfee179167bb3 30f25141bcce4670882e4a5bbe4fc3e2 +msgid "`entry`" +msgstr "`entry`" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 +msgid "`entryname`" +msgstr "`entryname`" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 +msgid "From `EnvVarRequirement`" +msgstr "`EnvVarRequirement`から" + +#: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f +msgid "" +"From " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool." +"html#EnvironmentDef)から" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 242a12ec757947db894195c9aefba818 7b26b9972f7141bf950b3bb024b0e369 +msgid "`envValue`" +msgstr "`envValue`" + +#: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "`expressionLib` による外部ライブラリの利用とインラインJavaScriptコードの利用" + +#: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +msgid "" +"The requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" supports an `expressionLib` attribute that allows users to load external" +" JavaScript files, or to provide inline JavaScript code." +msgstr "" +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InlineJavascriptRequirement)は、`expressionLib` 属性をサポートし、" +"ユーザーが外部 JavaScript ファイルを読み込んだり、インライン JavaScript " +"コードを提供したりできるようにします。" + +#: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +msgid "" +"Entries added to the `expressionLib` attribute are parsed with the " +"JavaScript engine of a CWL runner. This can be used to include external " +"files or to create JavaScript functions that can be called in other parts" +" of the CWL document." +msgstr "" +"`expressionLib` 属性に追加されたエントリーは、CWL runnerのJavaScriptエンジン" +"で解析されます。これは、外部ファイルをインクルードしたり、CWL定義の他の部分で" +"呼び出すことができるJavaScript関数を作成するために使用できます。" + +#: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 +msgid "" +"The CWL standards (versions 1.0 through 1.2) " +"[states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)" +" that the only version of JavaScript valid in CWL expressions is " +"[ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means " +"that any code that you include or write in your CWL Document must be " +"compliant with ECMAScript 5.1." +msgstr "" +"CWL標準(バージョン1.0から1.2)は、CWL定義で有効なJavaScriptのバージョンは[ECMAScript " +"5.1](https://262.ecma-" +"international.org/5.1/)のみであると[明記しています](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)。これは、CWLドキュメントに含める、または書くコードは、ECMAScript" +" 5.1に準拠していなければならないことを意味します。" + +#: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe +msgid "" +"For example, we can use `InlineJavascriptRequirement` and write a " +"JavaScript function inline in `expressionLib`. That function can then be " +"used in other parts of the CWL document:" +msgstr "" +"例えば、`InlineJavascriptRequirement` を使って、`expressionLib` に " +"JavaScript " +"関数をインラインで記述できます。その関数は、CWL定義の他の部分で使用できます:" + +#: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "`hello-world-expressionlib-inline.cwl`" + +#: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 +msgid "" +"Running this CWL workflow will invoke the JavaScript function and result " +"in the `echo` command printing the input message with capital initial " +"letters:" +msgstr "このCWLワークフローを実行すると、JavaScript関数が起動し、`echo` " +"コマンドが入力メッセージの頭文字を大文字にして表示します:" + +#: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "`hello-world-expressionlib-inline.cwl` 実行しています。" + +#: ../../src/topics/expressions.md:155 1a4dfef06b5c4402bdb7e7dbd79eeb5d +msgid "" +"Let's move the `capitalizeWords` function to an external file, `custom-" +"functions.js`, and import it in our CWL document:" +msgstr "`capitalizeWords` 関数を外部ファイル`custom-functions.js` に移動し、CWL 定義でインポートしてみましょう:" + +#: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 +msgid "`custom-functions.js`" +msgstr "`custom-functions.js`" + +#: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "`hello-world-expressionlib-external.cwl`" + +#: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +msgid "" +"The `custom-functions.js` file is included in the CWL document with the " +"`$include: custom-functions.js` statement. That makes the functions and " +"variables available to be used in other parts of the CWL document." +msgstr "" +"`custom-functions.js` ファイルは、`$include: custom-functions.js` という記述" +"でCWL定義に含まれます。これにより、関数と変数がCWL定義の他の部分で使用できる" +"ようになります。" + +#: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "`hello-world-expressionlib-external.cwl`実行しています。" + +#: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +msgid "" +"Finally, note that you can have both inline and external JavaScript code " +"in your CWL document. In this final example we have added another entry " +"to the `expressionLib` attribute with the new function " +"`createHelloWorldMessage`, that calls the `capitalizeWords` function from" +" the external file `custom-functions.js`." +msgstr "" +"最後に、CWL定義にはインラインと外部JavaScriptコードの両方が存在できることに注意してください。この最後の例では、`expressionLib`" +" 属性に、新しい関数`createHelloWorldMessage` を追加しました。この関数は、外部ファイル`custom-" +"functions.js` から`capitalizeWords` 関数を呼び出しています。" + +#: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c +msgid "`hello-world-expressionlib.cwl`" +msgstr "`hello-world-expressionlib.cwl`" + +#: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "`hello-world-expressionlib.cwl`を実行する。" + +#: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 +msgid "" +"The `$include` statement can be used to include a file from the local " +"disk or from a remote location. It works with both relative and absolute " +"paths. Read the [text about " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " +"the CWL specification to learn more about it." +msgstr "" +"`$include` ステートメントを使用すると、ローカルディスクまたはリモートロケーシ" +"ョンからファイルをインクルードできます。相対パスと絶対パスの両方で動作します" +"。CWL仕様の[`$include`について](https://www.commonwl.org/v1.0/SchemaSalad." +"html#Include)を読むと、より詳しく知ることができます。" + +#: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 +msgid "File Formats" +msgstr "ファイルフォーマット" + +#: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +msgid "" +"Tools and workflows can take " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " +"and produce them as output. We also recommend indicating the format for " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This " +"helps document for others how to use your tool while allowing you to do " +"some simple type-checking when creating parameter files." +msgstr "" +"ToolsやWorkflowsは、[`File`](https://w3id.org/cwl/CommandLineTool.html#File) " +"型を入力として受け取り、出力として生成できます。また、[`File`](https://w3id." +"org/cwl/CommandLineTool.html#File) タイプのフォーマットを示すことをお勧めしま" +"す。これにより、ツールの使用方法を他の人に示すことができ、パラメータファイル" +"を作成する際に簡単な型チェックを行うことができるようになります。" + +#: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 +msgid "" +"For file formats, we recommend referencing existing ontologies (like EDAM" +" in our example), reference a local ontology for your institution, or do " +"not add a file format initially for quick development before sharing your" +" tool with others. You can browse existing [IANA file format " +"listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" +"ファイルフォーマットについては、既存のオントロジーを参照すること(例ではEDAM" +")、所属機関のローカルオントロジーを参照すること、またはツールを他者と共有す" +"る前に迅速に開発するために最初はファイルフォーマットを追加しないことを推奨し" +"ています。既存の[IANAファイルフォーマット一覧][IANA]と[EDAMファイルフォーマッ" +"ト一覧][EDAM]は、それぞれのウェブサイトで参照できます。" + +#: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 +msgid "" +"In the next tutorial, we explain the `$namespaces` and `$schemas` " +"section of the document in greater detail, so don't worry about these for" +" now." +msgstr "次のチュートリアルで、`$namespaces` と`$schemas` の部分をより詳しく説明しますので、今は気にしないでください。" + +#: ../../src/topics/file-formats.md:17 c04841dbf4be4cf8a22cceca8b08bd14 +msgid "" +"Note that for added value `cwltool` can do some basic reasoning based on " +"file formats and warn you if there seem to be some obvious mismatches." +msgstr "なお、さらなる利点として`cwltool` は、ファイル形式に基づく基本的な推論を行い" +"、明らかな不一致があるようであれば警告を発します。" + +#: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e +msgid "`metadata_example.cwl`" +msgstr "`metadata_example.cwl`" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: 20e97d58596a4a959ad76ec6128ac414 4e070ae9110d437bbf008b0c60a00cd5 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "このCWL定義に相当するものをコマンドライン形式にすると:" + +#: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 +msgid "Sample Parameter Files" +msgstr "サンプルパラメーターファイル" + +#: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 +msgid "" +"Below is an example of a parameter file for the example above. We " +"encourage checking in working examples of parameter files for your tool. " +"This allows others to quickly work with your tool, starting from a " +"\"known good\" parameterization." +msgstr "" +"以下は、上記の例のパラメータファイルの例です。あなたのツールのパラメータファ" +"イルの実例をチェックすることをお勧めします。これにより、他の人が「既知の良い" +"」パラメータ化から始めて、あなたのツールで素早く作業できます。" + +#: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 +msgid "`sample.yml`" +msgstr "`sample.yml`" + +#: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 +msgid "" +"___Note:___ To follow the example below, you need to download the example" +" input file, *file-formats.bam*. The file is available from " +" and can be downloaded e.g. via `wget`:" +msgstr "" +"___注:___ 以下の例に実行するには、例の入力ファイル、*file-formats.bam* " +"をダウンロードする必要があります。このファイルは から入手可能で、`wget` などでダウンロードできます:" + +#: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 +msgid "Topics" +msgstr "トピックス" + +#: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 +msgid "Inputs" +msgstr "Inputs" + +#: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 +msgid "Essential Input Parameters" +msgstr "必須入力パラメータ" + +#: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 +msgid "" +"The `inputs` of a tool is a list of input parameters that control how to " +"run the tool. Each parameter has an `id` for the name of parameter, and " +"`type` describing what types of values are valid for that parameter." +msgstr "" +"ツールの`inputs` は、ツールの実行に関わる入力パラメーターのリストです。 " +"各パラメーターには、パラメーター名を示す`id` " +"と、そのパラメーターに有効な値の種類を示す`type` があります。" + +#: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb +msgid "" +"Available primitive types are *string*, *boolean*, *int*, *long*, " +"*float*, *double*, and *null*; complex types are *array* and *record*; in" +" addition there are special types *File*, *Directory* and *Any*." +msgstr "" +"利用可能なプリミティブ型は*string*,*int*,*long*,*float*,*double*, *null*; " +"複合型は*array*と*record*; さらに特殊型*File*,*Directory* ,*Any* があります。" + +#: ../../src/topics/inputs.md:13 fbdf2c1bed3e41d7a41ec6b14d134a98 +msgid "" +"The following example demonstrates some input parameters with different " +"types and appearing on the command line in different ways." +msgstr "次の例では、異なる型の入力パラメーターが、異なる方法でコマンドライン上に表示されることを示します。" + +#: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "まず、以下の内容を含む`inp.cwl` というファイルを作成します:" + +#: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb +msgid "`inp.cwl`" +msgstr "`inp.cwl`" + +#: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b +msgid "Create a file called `inp-job.yml`:" +msgstr "`inp-job.yml` というファイルを作成します:" + +#: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 +msgid "`inp-job.yml`" +msgstr "`inp-job.yml`" + +#: ../../src/topics/inputs.md:33 9cc4a60d01f945aa9b4c43afcf20098b +msgid "" +"You can use `cwltool` to create a template input object. That saves you " +"from having to type all the input parameters in an input object file:" +msgstr "" +"`cwltool` を使って、テンプレートとなる入力オブジェクトを作成できます。これに" +"より、入力オブジェクトファイルにすべての入力パラメータを入力する手間を省くこ" +"とができます:" + +#: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 +msgid "" +"You can redirect the output to a file, i.e. `cwltool --make-template " +"inp.cwl > inp-job.yml`, and then modify the default values with your " +"desired input values." +msgstr "" +"`cwltool --make-template inp.cwl > inp-job.yml` のように、出力をファイルにリ" +"ダイレクトします。その後デフォルト値を希望の入力値で修正できます。" + +#: ../../src/topics/inputs.md:44 6a3edb0d259d4d7c900dd9811f978d4e +msgid "" +"Notice that \"example_file\", as a `File` type, must be provided as an " +"object with the fields `class: File` and `path`." +msgstr "" +"\"example_file\" は `File` 型として、フィールド `class: File` と `path` " +"フィールドを持つオブジェクトとして提供されなければなりません。" + +#: ../../src/topics/inputs.md:47 f1d76be7ba0b48f4b605581d0a9a5c72 +msgid "" +"Next, create a whale.txt using [touch] by typing `touch whale.txt` on the" +" command line." +msgstr "次に、コマンドラインで`touch whale.txt` と入力し、[touch]をコマンドを使用して whale.txt を作成します。" + +#: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line, using the command `cwltool inp.cwl inp-job.yml`. The " +"following boxed text describes these two commands and the expected output" +" from the command line:" +msgstr "" +"次に、`cwltool inp.cwl inp-job.yml` " +"というコマンドを使い、コマンドラインにツール定義と入力オブジェクトを指定して`cwltool` " +"を起動します。次のボックステキストは、これら2つのコマンドと、コマンドラインから期待される出力について説明しています:" + +#: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 +msgid "" +"The CWL reference runner (cwltool) and other runners create temporary " +"directories with symbolic (\"soft\") links to your input files to ensure " +"that the tools aren't accidentally accessing files that were not " +"explicitly specified" +msgstr "" +"CWL reference runner(cwltool)と他のランナーは、ツールが明示的に指定されてい" +"ないファイルに誤ってアクセスしないように、入力ファイルへの(\"ソフト\"" +")シンボリックリンクを持つ一時ディレクトリを作成します" + +#: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 +msgid "" +"The field " +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)" +" is optional and indicates whether and how the input parameter should " +"appear on the tool's command line. If `inputBinding` is missing, the " +"parameter does not appear on the command line. Let's look at each " +"example in detail." +msgstr "" +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)フィ" +"ールドはオプションであり、入力パラメータをツールのコマンドラインに含めるかど" +"うか、またどのように含めるかを指定します。`inputBinding`がない場合、パラメー" +"タはコマンドラインに含まれません。 それぞれの例を詳しく見てみましょう。" + +#: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 +msgid "" +"Boolean types are treated as a flag. If the input parameter " +"\"example_flag\" is \"true\", then `prefix` will be added to the command " +"line. If false, no flag is added." +msgstr "" +"ブール型はフラグとして扱われます。 入力パラメータ \"example_flag \"が \"true " +"\"の場合、コマンドラインに`prefix` が追加されます。 falseの場合、フラグは付加されません。" + +#: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d +msgid "" +"String types appear on the command line as literal values. The `prefix` " +"is optional, if provided, it appears as a separate argument on the " +"command line before the parameter . In the example above, this is " +"rendered as `--example-string hello`." +msgstr "" +"文字列型は、コマンドライン上ではリテラル値として与えられます。 ` prefix` " +"はオプションです。与えられた場合、コマンドライン上のパラメータの前に別の引数として与えられます。 上の例では、`--example-string" +" hello` と与えられます。" + +#: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 +msgid "" +"Integer (and floating point) types appear on the command line with " +"decimal text representation. When the option `separate` is false (the " +"default value is true), the prefix and value are combined into a single " +"argument. In the example above, this is rendered as `-i42`." +msgstr "" +"整数型(および浮動小数点型)はコマンドラインに10進数のテキスト表現で表示され" +"ます。 `separate`オプションがfalseの場合(デフォルト値はtrue)、prefixと値は1" +"つの引数になるようにまとめられます。 上の例では `-i42` として表示されます。" + +#: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 +msgid "" +"File types appear on the command line as the path to the file. When the " +"parameter type ends with a question mark `?` it indicates that the " +"parameter is optional. In the example above, this is rendered as " +"`--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" " +"parameter were not provided in the input, nothing would appear on the " +"command line." +msgstr "" +"ファイル型は、コマンドライン上にファイルへのパスとして表示されます。 パラメ" +"ータの型の末尾にクエスチョンマーク`?`がある場合、これは、パラメータがオプショ" +"ナルであることを表します。 上記の例では、`--file=/tmp/random/path/whale.txt`" +" と表示されます。 ただし、入力パラメータに \"example_file\" " +"パラメータを指定しなかった場合、コマンドラインには何も表示されません。" + +#: ../../src/topics/inputs.md:131 9294c07c672b414f9c3895ed70b9b4ee +msgid "" +"Input files are read-only. If you wish to update an input file, you must" +" [first copy it to the output directory](staging-input-files.md)." +msgstr "" +"入力ファイルは読み取り専用です。 入力ファイルを更新したい場合は、[まず出力ディレクトリにコピーする](staging-input-" +"files.md)必要があります。" + +#: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f +msgid "" +"The value of `position` is used to determine where parameter should " +"appear on the command line. Positions are relative to one another, not " +"absolute. As a result, positions do not have to be sequential, three " +"parameters with positions 1, 3, 5 will result in the same command line as" +" 1, 2, 3. More than one parameter can have the same position (ties are " +"broken using the parameter name), and the position field itself is " +"optional. The default position is 0." +msgstr "" +"`position` の値は、パラメータがコマンドライン上のどこに表示されるかを決定する" +"ために使用されます。 " +"Positionは、絶対的なものではなく、互いに相対的なものです。 そのため、位置は" +"連続である必要はなく、1、3、5の位置にある3つのパラメータは、1、2、3と同じコマ" +"ンドラインになります。 複数のパラメータが同じ位置を持つことも可能です(パラ" +"メータ名で紐付けを行います)。また、位置フィールドは任意です。 " +"デフォルトの位置は0です。" + +#: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 +msgid "" +"The `baseCommand` field will always appear in the final command line " +"before the parameters." +msgstr "`baseCommand` フィールドは、常にパラメータの前の最終コマンド行に表示されます。" + +#: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f +msgid "Array Inputs" +msgstr "配列入力" + +#: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 +msgid "" +"It is easy to add arrays of input parameters represented to the command " +"line. There are two ways to specify an array parameter. First is to " +"provide `type` field with `type: array` and `items` defining the valid " +"data types that may appear in the array. Alternatively, brackets `[]` may" +" be added after the type name to indicate that input parameter is array " +"of that type." +msgstr "" +"コマンドラインに含まれる入力パラメータの配列は簡単に追加できます。配列パラメ" +"ータを指定するには、2つの方法があります。1つ目の方法は、`type` に`type: " +"array` と`items` を指定して、配列に現れる可能性のある有効なデータ型を定義する" +"方法です。2つ目の方法は、入力パラメータがその型の配列であることを示すために、" +"型名の後に`[]` という括弧を付けることもできます。" + +#: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 +msgid "`array-inputs.cwl`" +msgstr "`array-inputs.cwl`" + +#: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f +msgid "`array-inputs-job.yml`" +msgstr "`array-inputs-job.yml`" + +#: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 +#: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 +#: 390384208d7b4771888f164b587c7b9a edb3ae59c48945f29c3086b16a5265d3 +msgid "" +"Now invoke `cwltool` providing the tool description and the input object " +"on the command line:" +msgstr "ここで、コマンドラインにツール定義と入力オブジェクトを指定し `cwltool` " +"を起動します:" + +#: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 +msgid "" +"The `inputBinding` can appear either on the outer array parameter " +"definition or the inner array element definition, and these produce " +"different behavior when constructing the command line, as shown above. In" +" addition, the `itemSeparator` field, if provided, specifies that array " +"values should be concatenated into a single argument separated by the " +"item separator string." +msgstr "" +"`inputBinding` は、外側の配列パラメータ定義と内側の配列要素定義のいずれかに記" +"述でき、上図のようにコマンドラインを構築する際に異なる挙動を示します。また、`" +"itemSeparator` フィールドがあれば、配列の値を項目区切り文字列で区切って1つの" +"引数に連結することを指定できます。" + +#: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df +msgid "" +"Note that the arrays of inputs are specified inside square brackets `[]` " +"in `array-inputs-job.yml`. Arrays can also be expressed over multiple " +"lines, where array values that are not defined with an associated key are" +" marked by a leading `-`. This will be demonstrated in the next lesson " +"and is discussed in more detail in the [YAML Guide](yaml-" +"guide.md#arrays). You can specify arrays of arrays, arrays of records, " +"and other complex types." +msgstr "" +"なお、入力の配列は大括弧の中で指定します `array-inputs-job.yml`の`[]`です.配" +"列は複数行に渡って表現することも可能で、関連するキーで定義されていない配列の" +"値は、先頭の`-` でマークされます。これは次のレッスンで実際に確認し、[YAML " +"Guide](yaml-guide.md#arrays) でより詳細に説明されています。配列の配列、レコー" +"ドの配列、その他の複雑な型を指定できます。" + +#: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 +msgid "Inclusive and Exclusive Inputs" +msgstr "包括的入力と排他的入力" + +#: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 +msgid "" +"Sometimes an underlying tool has several arguments that must be provided " +"together (they are dependent) or several arguments that cannot be " +"provided together (they are exclusive). You can use records and type " +"unions to group parameters together to describe these two conditions." +msgstr "" +"基本的なツールには、一緒に提供しなければならない複数の引数(依存関係あり)や" +"、一緒に提供できない複数の引数(排他関係あり)があることがあります。 record" +"とユニオン型を使ってパラメータをグループ化し、この2つの条件を定義できます。" + +#: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 +msgid "`record.cwl`" +msgstr "`record.cwl`" + +#: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 +msgid "`record-job1.yml`" +msgstr "`record-job1.yml`" + +#: ../../src/topics/inputs.md:215 ecfb1d911a84400ba3db12fd0adf9279 +msgid "" +"In the first example, you can't provide `itemA` without also providing " +"`itemB`." +msgstr "最初の例では、`itemB` も与えずに、`itemA` を与えることはできません。" + +#: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff +msgid "`record-job2.yml`" +msgstr "`record-job2.yml`" + +#: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba +msgid "" +"In the second example, `itemC` and `itemD` are exclusive, so only the " +"first matching item (`itemC`) is added to the command line and remaining " +"item (`itemD`) is ignored." +msgstr "" +"2番目の例では、`itemC` と`itemD` が排他的であるため、最初に一致した項目 (`itemC`) " +"のみがコマンドラインに追加され、残りの項目 (`itemD`) は無視されます。" + +#: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 +msgid "`record-job3.yml`" +msgstr "`record-job3.yml`" + +#: ../../src/topics/inputs.md:252 e6d81d6549984689bae4533c6d01bd5b +msgid "" +"In the third example, only `itemD` is provided, so it appears on the " +"command line." +msgstr "3番目の例では、`itemD` のみが提供されているので、コマンドラインに表示されます。" + +#: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 +msgid "Exclusive Input Parameters with Expressions" +msgstr "式で入力パラメータを排他的に指定する" + +#: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b +msgid "" +"If you use exclusive input parameters and reference them in expressions, " +"you need to be aware that the `inputs` JavaScript object will contain one" +" of the possible, mutually-exclusive input values. Because the types of " +"these exclusive values may differ, you may need to check which type is in" +" use when you reference the properties of the `input` object." +msgstr "" +"排他的入力パラメータを式と組み合わせて使用する場合、JavaScript " +"オブジェクトの`inputs` に排他的入力値のいずれかが含まれることを意識する必要が" +"あります。つまり、これらの排他的な値の型は異なる可能性があるので、`input` オ" +"ブジェクトのプロパティを参照するときに、どの型が使用されているかを確認する必" +"要があるかもしれません。" + +#: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 +msgid "" +"Let's use an example that contains an exclusive `file_format` input " +"parameter that accepts `null` (i.e. no value provided), or any value from" +" an enum." +msgstr "" +"`file_format` 入力パラメータに、`null` (つまり、値がない)、または enum " +"の任意の値を受け入れる排他的なものを含む例を使ってみましょう。" + +#: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`exclusive-parameter-expressions.cwl`" + +#: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +msgid "" +"Note how the JavaScript expression uses the value of the exclusive input " +"parameter without taking into consideration a `null` value. If you " +"provide a valid value, such as `fasta` (one of the possible values of the" +" enum), your command should execute successfully:" +msgstr "" +"JavaScriptの式では、`null` の値を考慮せずに、排他的入力パラメータの値を使用し" +"ていることに注意してください。`fasta`(enumの値の1つ)のような有効な値を指定" +"すると、コマンドは正常に実行されるはずです:" + +#: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +msgid "" +"However, if you do not provide any input value, then `file_format` will " +"be evaluated to `null`, which does not match the expected type for the " +"output field (a `string`), resulting in failure when running your " +"workflow." +msgstr "" +"しかし、入力値を提供しない場合、`file_format` は、`null` " +"の値として評価されます。これは、出力フィールドが期待する型(`string` " +")と一致しないため、ワークフロー実行時に失敗することになります。" + +#: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 +msgid "" +"To correct it, you should explicitly handle the possibility of a `null` " +"value. For example, the expression could be changed to " +"`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " +"none was provided in the command line or job input file." +msgstr "" +"これを修正するには、排他的パラメータ、または`null` " +"を許可するパラメータを使用する場合、JavaScript 式で or " +"演算子を使用することを忘れてはなりません。たとえば、式を`$(" +"inputs.file_format || 'auto')` に変更すると、コマンドラインやジョブ入力ファイ" +"ルで何も指定されていない場合にデフォルト値`\"auto\"`を持つようになります。" + +#: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 +msgid "" +"Here, the boolean “or” operator `||` in JavaScript is used for its " +"_short-circuiting_ property. If `inputs.file_format` is “true” in a " +"boolean context (e.g. a valid non-empty string from the enum), the " +"evaluation of the expression stops at the first operand of `||`; it " +"“short-circuits”. If however `inputs.file_format` is `null`, the whole " +"expression’s value becomes that of the second operand, which is why a " +"reasonable default can be provided there." +msgstr "" +"ここでは、JavaScriptのブール値 \"or\"、 演算子 `||` は、その _short-" +"circuiting_ プロパティに使用されます。`inputs.file_format`がブール値の \"true" +"\"である場合(例えば、列挙された有効な空でない文字列)、式の評価は `||`" +"の最初のオペランド\"short-circuits\"で停止します。しかし、 `inputs.file_forma" +"t`が`null`の場合、式全体の値は2番目のオペランドの値になります。これにより合理" +"的なデフォルト値を提供します。" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: 723c2232310c4276aeac2bd6728d2912 +msgid "Metadata and Authorship" +msgstr "メタデータと著者" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: 4d81aac1830045229e5c60c7959074d8 +msgid "" +"Implementation extensions not required for correct execution (for " +"example, fields related to GUI presentation) and metadata about the tool " +"or workflow itself (for example, authorship for use in citations) may be " +"provided as additional fields on any object. Such extensions fields (e.g." +" `format: edam:format_2572`) can use a namespace prefix listed in the " +"`$namespaces` section of the document (e.g. edam: " +"http://edamontology.org/)%20as%20described%20in%20the%20[Schema%20Salad%20specification" +"][schema-salad]. Once you add the namespace prefix, you can access it " +"anywhere in the document as shown below. Otherwise, one must use full " +"URLs: `format: http://edamontology.org/format_2572`." +msgstr "" +"正しい実行に必須でない実装拡張(例えば、GUI表示に関するフィールド)およびツー" +"ルまたはワークフロー自体に関するメタデータ(例えば、引用で使用するための著者" +"名)は、任意のオブジェクトの追加フィールドとして提供できます。このような拡張" +"フィールド(例:`format: edam:format_2572` )は、[Schema Salad仕様][schema-" +"salad]で説明されているように、文書の`$namespaces` セクション(例: edam: " +"http://edamontology.org/%20%EF%BC%89%E3%81%AB%E8%A8%98%E8%BC%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%83%97%E3%83%AC%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE" +"す。一度名前空間プレフィックスを追加すれば、以下のように定義内のどこにでもア" +"クセスできるようになります。それ以外の場合は、完全なURLを使用しなければなりま" +"せん。`format: http://edamontology.org/format_2572`." + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 368f8993ae9d401488081d74ae5acd49 +msgid "" +"For all developers, we recommend the following minimal metadata for your " +"tool and workflows. This example includes metadata allowing others to " +"cite your tool." +msgstr "すべての開発者に対し、ツールおよびワークフローに関する以下の最小限のメタデータを推奨します。この例では、他の人があなたのツールを引用するためのメタデータを含んでいます。" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: c80f2b180ca74afb8a1fc18f8686304b +msgid "`metadata_example2.cwl`" +msgstr "`metadata_example2.cwl`" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: 37b07ea9b7124842b8ba3040f70308e9 +msgid "Extended Example" +msgstr "拡張された例" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: 1cd5989ade6741aabe625c13bed3c8ed +msgid "" +"For those that are highly motivated, it is also possible to annotate your" +" tool with a much larger amount of metadata. This example includes EDAM " +"ontology tags as keywords (allowing the grouping of related tools), hints" +" at hardware requirements in order to use the tool, and a few more " +"metadata fields." +msgstr "" +"高いモチベーションを持つ人であれば、ツールにもっと多くのメタデータを付与する" +"ことも可能です。この例では、EDAMオントロジーのタグをキーワードとして含み(関" +"連するツールのグループ化が可能)、ツールを使用するために必要なハードウェアの" +"ヒントや、さらにいくつかのメタデータフィールドがあります。" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: ae7369ba14404d23b72d1ef30dcd4153 +msgid "`metadata_example3.cwl`" +msgstr "`metadata_example3.cwl`" + +#: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 +msgid "Operations" +msgstr "Operations" + +#: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e +msgid "" +"An Operation is a type of CWL process, just like a workflow, a command-" +"line tool, or an expression tool. It is a step of a workflow that " +"specifies inputs and outputs, but it does not provide enough information " +"to be executed." +msgstr "" +"Operationは、Workflow、CommandLineTool、ExpressionToolと同様に、CWL Processの" +"一種です。Workflowのステップで、入力と出力を指定しますが、実行するのに十分な" +"情報を提供しません。" + +#: ../../src/topics/operations.md:7 047b09455db64524a71c47ab5192039f +msgid "" +"You can create operations to visualize a workflow during development, " +"before you are ready to submit the workflow to a CWL runner:" +msgstr "CWL " +"runnerでワークフローを実行する前に、開発中のワークフローを可視化できます:" + +#: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 +msgid "`operations.cwl`" +msgstr "`operations.cwl`" + +#: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 +msgid "" +"The `uppercase` step of the workflow is an operation. It can appear where" +" a command line tool or an expression is expected. You can also plot it " +"with the CWL Viewer or `cwltool`:" +msgstr "" +"ワークフローの`uppercase` ステップは Operation " +"です。CommandLineToolやExpressionToolのように使用できます。また、CWL " +"Viewerや`cwltool` を使って可視化できます:" + +#: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 +msgid "" +"The output of the command above can be rendered with a Graphviz renderer." +" The following image is rendered with the Sphinx `{graphviz}` directive " +"(this user guide is built with Sphinx):" +msgstr "" +"上記のコマンドの出力は、Graphvizを使ってレンダリングできます。以下の画像は、S" +"phinxの`{graphviz}`ディレクティブでレンダリングしたものです(このユーザーガイ" +"ドはSphinxで構築されています):" + +#: ../../src/topics/operations.md:56 c07e3ff02ac14ffb89bcbd1b30f3f3fd +msgid "" +"The operation file will fail to run with `cwltool` because `cwltool` " +"lacks the necessary information to execute it:" +msgstr "" +"operation ファイルを `cwltool` で実行しようとすると、`cwltool` " +"が実行に必要な情報を持っていないため、失敗します:" + +#: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf +msgid "`cwltool` does not know how to run operations" +msgstr "`cwltool` は、どうやってoperationsを実行するかを知りません" + +#: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 +msgid "" +"CWL runners may come up with ways to bind operations to concrete steps. A" +" CWL runner could, for instance, use abstract operations with ID's that " +"correspond to steps executed by a different workflow engine." +msgstr "" +"CWL runnerは、operations " +"を具体的なステップに結びつけるかもしれません。例えば、CWL runnerは、" +"ワークフローエンジンで実行される異なるステップに対応するIDを持つ抽象的な " +"operation を使用できます。" + +#: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 +msgid "Outputs" +msgstr "Outputs" + +#: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be +msgid "Returning Output Files" +msgstr "出力ファイルの回収" + +#: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 +msgid "" +"The `outputs` of a tool is a list of output parameters that should be " +"returned after running the tool. Each parameter has an `id` for the name" +" of parameter, and `type` describing what types of values are valid for " +"that parameter." +msgstr "" +"ツールの`outputs` " +"は、ツールの実行後に返されるべき出力パラメータのリストです。 " +"各パラメーターには、パラメーター名を示す`id` " +"と、そのパラメーターに有効な値の型を示す`type` があります。" + +#: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b +msgid "" +"When a tool runs under CWL, the starting working directory is the " +"designated output directory. The underlying tool or script must record " +"its results in the form of files created in the output directory. The " +"output parameters returned by the CWL tool are either the output files " +"themselves, or the result of examining the content of those files." +msgstr "" +"CWLでツールを実行する場合、実行を開始したディレクトリが出力ディレクトリになり" +"ます。 基礎となるツールやスクリプトは、出力ディレクトリに作成されるファイル" +"の形でその結果を記録しなければなりません。 CWLツールによって返される出力パラ" +"メータは、出力ファイルそのものであるか、またはそれらのファイルの内容を調べる" +"ことによって得られるものです。" + +#: ../../src/topics/outputs.md:16 9845e517f7d848e5b59a97880ca6999f +msgid "" +"The following example demonstrates how to return a file that has been " +"extracted from a tar file." +msgstr "次の例は、tarファイルから抽出されたファイルを返す方法を示しています。" + +#: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "`baseCommand` に必須引数を渡します。" + +#: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b +msgid "" +"In previous examples, the `baseCommand` was just a string, with any " +"arguments passed as CWL inputs. Instead of a single string, we can use an" +" _array of strings_ as the value of `baseCommand`. The first element of " +"the array is the command to run, and any subsequent elements are " +"mandatory command line arguments" +msgstr "" +"これまでの例では、`baseCommand` " +"は単なる文字列で、引数はCWL入力として渡していました。単一の文字列の代わりに、" +"_文字列の配列_ を使用できます。 配列の最初の要素は実行するコマンドで、それ以" +"降の要素は必須のコマンドライン引数です" + +#: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 +msgid "`tar.cwl`" +msgstr "`tar.cwl`" + +#: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 +msgid "`tar-job.yml`" +msgstr "`tar-job.yml`" + +#: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f +msgid "Next, create a tar file for the example." +msgstr "次に、サンプルとなるtarファイルを作成します。" + +#: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 +msgid "" +"And now invoke `cwltool` with the tool description and the input object " +"on the command line:" +msgstr "そして、今度はコマンドラインにツール定義と入力オブジェクトを指定して`cwltool` を呼び出します:" + +#: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 +msgid "" +"The field " +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" +" describes how to set the value of each output parameter." +msgstr "" +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool." +"html#CommandOutputBinding) " +"フィールドには、各出力パラメータの値の設定方法が記述されています。" + +#: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 +msgid "" +"The " +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) " +"field consists of the pattern to match file names in the output " +"directory. This can simply be the file's exact name. But if you don't " +"know the name of the file in advance, you can use a wildcard pattern like" +" `glob: '*.txt'`." +msgstr "" +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) フィ" +"ールドは、出力ディレクトリ内のファイル名で構成されます。前もって出力ファイル" +"名が分からない場合は、`glob: '*.txt'` " +"のようにワイルドカードパターンを使用できます。" + +#: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 +msgid "Capturing Standard Output" +msgstr "標準出力をキャプチャする" + +#: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 +msgid "" +"To capture a tool's standard output stream, add the " +"[`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with " +"the name of the file where the output stream should go. Then add `type: " +"stdout` on the corresponding output parameter." +msgstr "" +"ツールの標準出力を保存するには、[`stdout`](https://w3id.org/cwl/" +"CommandLineTool.html#stdout) " +"フィールドに、標準出力を保存したいファイル名を追加します。 " +"次に、対応する出力パラメータに`type: stdout` を追加します。" + +#: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b +msgid "`stdout.cwl`" +msgstr "`stdout.cwl`" + +#: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe +msgid "Array Outputs" +msgstr "出力の配列" + +#: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 +msgid "" +"You can also capture multiple output files into an array of files using " +"`glob`." +msgstr "また、`glob` を使って、複数の出力ファイルを配列に取り込むことができます。" + +#: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c +msgid "`array-outputs.cwl`" +msgstr "`array-outputs.cwl`" + +#: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 +msgid "`array-outputs-job.yml`" +msgstr "`array-outputs-job.yml`" + +#: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 +msgid "" +"As described in the [YAML Guide](yaml-guide.md#arrays), the array of " +"expected outputs is specified in `array-outputs-job.yml` with each entry " +"marked by a leading `-`. This format can also be used in CWL descriptions" +" to mark entries in arrays, as demonstrated in several of the upcoming " +"sections." +msgstr "" +"[YAML Guide](yaml-guide.md#arrays) " +"で説明されているように、期待される出力の配列は`array-outputs-job.yml` " +"で指定され、配列のエントリーはそれぞれ先頭の`-` で示されています。この書き方" +"は、CWL定義で配列のエントリーを示すために使用することもでき、今後のいくつかの" +"セクションでデモがあります。" + +#: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b +msgid "Parameter References" +msgstr "パラメータリファレンス" + +#: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 +msgid "" +"In a previous example, we extracted a file using the \"tar\" program. " +"However, that example was very limited because it assumed that the file " +"we were interested in was called \"hello.txt\", and this was written into" +" the `.cwl` file. This is not the best way to do this, as the " +"\"hello.txt\" filename may vary or be dependent on the input file(s) " +"used. To avoid this we can specify the name of the file we want in the " +"job parameters file (`.yml`). In this example, you will see how to " +"reference the value of input parameters dynamically from other fields, " +"which will allow us to then specify the name of the file to extract." +msgstr "" +"前の例では、\"tar \"プログラムを使用してファイルを抽出しました" +"。しかし、その例は非常に限定的なものでした。というのも、" +"私たちが興味を持っているファイルは\"hello.txt\"と呼ばれ、これが`.cwl` ファイ" +"ルに直接書き込まれていると仮定していたからです。これは最良の方法ではありませ" +"ん。なぜなら、\"hello.txt \"というファイル名は" +"、使用する入力ファイルによって異なるか、または依存する可能性があるからです。" +" これを避けるために、ジョブパラメーターファイル(`.yml`)で必要なファイル名を" +"指定できます。この例では、入力パラメーターの値を他のフィールドから動的に参照" +"して、抽出するファイル名を指定する方法を説明します。" + +#: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 +msgid "`tar-param.cwl`" +msgstr "`tar-param.cwl`" + +#: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 9b1e2f1a23ea4fe2af97ef5108f33376 +msgid "" +"Create your input files and invoke `cwltool` with the tool description " +"and the input object on the command line:" +msgstr "入力ファイル(入力オブジェクト)を作成し、コマンドラインでツール定義と入力オブ" +"ジェクトを指定して`cwltool` を呼び出します:" + +#: ../../src/topics/parameter-references.md:36 06926a516ae6432d96e3eaa62202cd86 +msgid "" +"Certain fields permit parameter references which are enclosed in " +"`$(...)`. These are evaluated and replaced with value being referenced." +msgstr "`$(...)` で囲まれたパラメータ参照を許可するフィールドもあります。これらは評価" +"され、参照されている値に置き換えられます。" + +#: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 +msgid "" +"References are written using a subset of Javascript syntax. In this " +"example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " +"`$(inputs['extractfile'])` are equivalent." +msgstr "" +"パラメータリファレンスは、Javascriptの構文のサブセットを使用して記述します。" +" この例では、`$(inputs.extractfile)` 、`$(inputs[\"extractfile\"])` " +"、`$(inputs['extractfile'])` は同じです。" + +#: ../../src/topics/parameter-references.md:51 56ead1c8d45c43bdbcbc6f7cbb8e1e92 +msgid "" +"The value of the \"inputs\" variable is the input object provided when " +"the CWL tool was invoked." +msgstr "変数 \"inputs \"の値は、CWLツールの起動時に提供された入力オブジェクトです。" + +#: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d +msgid "" +"Note that because `File` parameters are objects, to get the path to an " +"input file you must reference the path field on a file object; to " +"reference the path to the tar file in the above example you would write " +"`$(inputs.tarfile.path)`." +msgstr "" +"`File` パラメータはオブジェクトであるため、入力ファイルのパスを取得するには、" +"ファイルオブジェクトのpathフィールドを参照する必要があります。上記の例でtarフ" +"ァイルのパスを参照するには、`$(inputs.tarfile.path)`となります。" + +#: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 +msgid "Where are parameter references allowed?" +msgstr "パラメータ参照はどこで許されるのですか?" + +#: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 +msgid "You can only use parameter references in certain fields. These are:" +msgstr "パラメータ参照は、特定のフィールドでのみ使用できます。 以下はその例です:" + +#: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 +msgid "" +"From " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineTool) から" + +#: ../../src/topics/parameter-references.md:69 f592619e4b2c497e80cd75da0548cf07 +msgid "" +"From " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +" から" + +#: ../../src/topics/parameter-references.md:72 81ea71a35020421187dc18ddd151c62f +msgid "" +"From " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +" から" + +#: ../../src/topics/parameter-references.md:74 ea0117748adc4324901024f21eed04ac +msgid "" +"From " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputParameter) から" + +#: ../../src/topics/parameter-references.md:77 3a30e73176cf4e4eb9f26770a176b9c9 +msgid "" +"From " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputBinding) から" + +#: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) " +"と [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#WorkflowOutputParameter) から" + +#: ../../src/topics/parameter-references.md:85 7008a1ff1af54fda827637e787e5c7dd +msgid "" +"From " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +" から" + +#: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) " +"と [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#ExpressionToolOutputParameter) から" + +#: ../../src/topics/parameter-references.md:92 0ae32d1db5f9452bbfcbbc4719b0b9f1 +msgid "" +"From " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#ResourceRequirement) から" + +#: ../../src/topics/parameter-references.md:101 +#: 7e1907ff15c74f488187531de336eccf +msgid "" +"From " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#InitialWorkDirRequirement) から" + +#: ../../src/topics/parameter-references.md:103 +#: 678874668fed4f4d80a1b0990e183e2f +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "[Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent) の中に" + +#: ../../src/topics/parameter-references.md:107 +#: e2882880886046ac88ae1c0d414366d1 +msgid "" +"From " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool." +"html#EnvironmentDef) から" + +#: ../../src/topics/requirements-and-hints.md:5 +#: 05324169d8ae48d4a1abe3a0ac07c891 +msgid "Requirements and Hints" +msgstr "Requirements と Hints" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: 1f5b72d7ec82442ba29baa14a03f061b +msgid "Specifying Software Requirements" +msgstr "ソフトウェア要求事項の指定" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: e708866921ea49d69d3c2a32d63ea468 +msgid "" +"Often, tool descriptions will be written for a specific version of a " +"software. To make it easier for others to use your descriptions, you can " +"include a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)" +" field in the `hints` section. This may also help to avoid confusion " +"about which version of a tool the description was written for." +msgstr "" +"多くの場合、ツール定義はソフトウェアの特定のバージョン用に書かれます。他の人" +"があなたの説明を使いやすくするために、`hints` セクションに " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#SoftwareRequirement) フィールドを含めることができます。これは、ツール定" +"義がどのツールのどのバージョン用に書かれたかについての混乱を避けるのにも役立" +"ちます。" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 6f722d6fd54f485fa964076c8d08938b +msgid "" +"In this example, the software requirement being described is InterProScan" +" version 5.21-60." +msgstr "この例では、定義されるソフトウェア要件はInterProScanバージョン5.21-60です。" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 5c1236ec57c64079bfb7c779524b12ad +msgid "" +"Depending on your CWL runner, these hints may be used to check that the " +"required software is installed and available before the job is run. To " +"enable these checks with the reference implementation, use the " +"[dependency resolvers configuration][dependencies]." +msgstr "" +"CWL runnerによっては、これらのヒントを使用して、ジョブの実行前に必要なソフト" +"ウェアがインストールされ、利用可能であることをチェックできます。リファレンス" +"実装でこれらのチェックを有効にするには、[依存性解決のための設定][dependencies" +"] を使用します。" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 1a8b8aadf1c64e87b8b670e288bc14bc +msgid "" +"As well as a version number, a unique resource identifier (URI) for the " +"tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be" +" looked up in the [SciCrunch][scicrunch] registry, which provides a " +"portal for finding, tracking, and referring to scientific resources " +"consistently. If you want to specify a tool as a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)," +" search for the tool on SciCrunch and use the RRID that it has been " +"assigned in the registry. (Follow this [Adding a Resource Tutorial" +"][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID " +"to refer to the tool (via [identifiers.org][identifiers]) in the `specs` " +"field of your requirement description. Other good choices, in order of " +"preference, are to include the DOI for the main tool citation and the URL" +" to the tool." +msgstr "" +"バージョン番号だけでなく、ツールの一意なリソース識別子(URI)が[RRID][rrid]の" +"形で与えられます。RRIDを持つリソースは[SciCrunch][scicrunch]レジストリで検索" +"することができ、科学リソースを一貫して検索、追跡、参照するためのポータルを提" +"供します。ツールを [`SoftwareRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#SoftwareRequirement) として指定したい場合は、SciCrunch " +"でツールを検索し、レジストリで割り当てられた RRID を使用してください。(" +"ツールを SciCrunch に追加するには [リソースの追加チュートリアル][scicrunch-" +"add-tool] を参照してください)。この RRID を使って、([identifiers." +"org][identifiers] 経由で)要件説明の `specs` フィールドでツールを参照できます" +"。他の良い選択としては、優先順位の高い順に、メインのツールの引用のためのDOIと" +"ツールのURLを含めることです。" + +#: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 +msgid "Staging Input Files" +msgstr "入力ファイルのステージング" + +#: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a +msgid "" +"Normally, input files are located in a read-only directory separate from " +"the output directory. This causes problems if the underlying tool " +"expects to write its output files alongside the input file in the same " +"directory. You use " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)" +" to stage input files into the output directory. In this example, we use " +"a JavaScript expression to extract the base name of the input file from " +"its leading directory path." +msgstr "" +"通常、入力ファイルは出力ディレクトリとは別の読み取り専用ディレクトリに置かれ" +"ます。 これは、ツールが同じディレクトリに入力ファイルと一緒に出力ファイルを書" +"き込むことを期待している場合に問題を引き起こします。 入力ファイルを出力ディレ" +"クトリにステージング(配置のこと)するには、[`InitialWorkDirRequirement`](htt" +"ps://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)を使用します" +"。この例では、JavaScript式を使用して、先頭のディレクトリパスから入力ファイル" +"のベース名を抽出しています。" + +#: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 +msgid "Troubleshooting" +msgstr "トラブルシューティング" + +#: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 +msgid "" +"In this section you will find ways to troubleshoot when you have problems" +" executing CWL. We focus on `cwltool` here but some of these techniques " +"may apply to other CWL Runners." +msgstr "" +"このセクションでは、CWLの実行に問題がある場合にトラブルシューティングを行う方" +"法を説明します。ここでは、`cwltool` に焦点を当てますが、" +"いくつかのテクニックは他のCWL runnerでも使えるかもしれません。" + +#: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec +msgid "Run `cwltool` with `cachedir`" +msgstr "`cwltool` を`cachedir` で実行する" + +#: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 +msgid "" +"You can use the `--cachedir` option when running a workflow to tell " +"`cwltool` to cache intermediate files (files that are not input nor " +"output files, but created while your workflow is running). By default, " +"these files are created in a temporary directory but writing them to a " +"separate directory makes accessing them easier." +msgstr "" +"ワークフロー実行時に`--cachedir` オプションを使用すると、`cwltool` に中間ファ" +"イル(入力ファイルでも出力ファイルでもないが、ワークフロー実行中に作成される" +"ファイル)をキャッシュするよう指示できます。デフォルトでは、これらのファイル" +"は一時ディレクトリに作成されますが、別のディレクトリに書き込むことでアクセス" +"が容易になります。" + +#: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +msgid "" +"In the following example `troubleshooting-wf1.cwl` we have two steps, " +"`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " +"World\" | rev`, which would print the message \"Hello World\" reversed, " +"i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**," +" where instead of executing the `rev` command it tries to execute `revv`," +" which fails." +msgstr "" +"次の例では、`troubleshooting-wf1.cwl` ` step_a` と`step_b` " +"という2つのステップを用意しています。このワークフローは、`echo \"Hello " +"World\" | rev` と同等で、\"Hello World\" というメッセージを反転して、" +"すなわち \"dlroW olleH\" " +"と表示します。しかし、2番目のステップである`step_b`,**にはタイプミス** " +"があり、`rev` コマンドを実行する代わりに`revv` " +"を実行しようとし、失敗しています。" + +#: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 +msgid "`troubleshooting-wf1.cwl`" +msgstr "`troubleshooting-wf1.cwl`" + +#: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +msgid "" +"Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` " +"value (`cwltool` will create the directory for you if it does not exist " +"already):" +msgstr "" +"`--cachedir` に `/tmp/cachedir/` " +"を指定して、このワークフローを実行してみましょう(`cwltool` " +"は、ディレクトリがまだ存在しない場合、新規作成します):" + +#: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +msgid "" +"The workflow is in the `permanentFail` status due to `step_b` failing to " +"execute the non-existent `revv` command. The `step_a` was executed " +"successfully and its output has been cached in your `cachedir` location. " +"You can inspect the intermediate files created:" +msgstr "" +"`step_b` が存在しない `revv` コマンドの実行に失敗したため、ワークフローは " +"`permanentFail` ステータスになっています。`step_a` は正常に実行され、" +"その出力は `cachedir` " +"にキャッシュされました。作成された中間ファイルを確認できます:" + +#: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +msgid "" +"Each workflow step has received a unique ID (the long value that looks " +"like a hash). The `${HASH}.status` files display the status of each step " +"executed by the workflow. And the `step_a` output file `stdout.txt` is " +"visible in the output of the command above." +msgstr "" +"各ワークフローのステップには、一意のID(ハッシュのような長い値)が付与されて" +"います。`${HASH}.status` ファイルは、ワークフローによって実行された各ステップ" +"のステータスを表示します。そして、`step_a` 出力ファイル`stdout.txt` " +"は、上記のコマンドの出力で確認できます。" + +#: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +msgid "" +"Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev`" +" in the `step_b`). After fixing the typo, when you execute `cwltool` with" +" the same arguments as the previous time, note that now `cwltool` output " +"contains information about pre-cached outputs for `step_a`, and about a " +"new cache entry for the output of `step_b`. Also note that the status of " +"`step_b` is now of success." +msgstr "" +"`step_b` が`rev` を実行するように、タイプミスを修正します(すなわち、`step_b`" +" の`revv` を`rev` " +"で置き換えます)。タイプミスを修正した後、前回と同じ引数で`cwltool` " +"を実行すると、`cwltool` の出力に、`step_a` " +"の出力が事前にキャッシュされていることと、`step_b` " +"の出力の新しいキャッシュ・エントリーがあることがわかります。また、`step_b` " +"のステータスは、今度は、成功であることに注目してください。" + +#: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +msgid "" +"In this example the workflow step `step_a` was not re-evaluated as it had" +" been cached, and there was no change in its execution or output. " +"Furthermore, `cwltool` was able to recognize when it had to re-evaluate " +"`step_b` after we fixed the executable name. This technique is useful for" +" troubleshooting your CWL documents and also as a way to prevent " +"`cwltool` to re-evaluate steps unnecessarily." +msgstr "" +"この例では、ワークフローのステップ`step_a` はキャッシュされていたため再実行さ" +"れず、その実行や出力に変化はありませんでした。さらに、`cwltool` " +"は、実行したいコマンド名を修正した後、`step_b` を再実行する必要があることがわ" +"かりました。このテクニックは、CWL文書のトラブルシューティングに役立つだけでな" +"く、`cwltool` が不必要にステップを再実行するのを防ぐ方法としても有効です。" + +#: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a +msgid "Using Containers" +msgstr "コンテナの使用" + +#: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 +msgid "Running Tools Inside Docker" +msgstr "Dockerの内部でツールを実行する" + +#: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +msgid "" +"[Docker][docker] containers simplify software installation by providing a" +" complete known-good runtime for software and its dependencies. However," +" containers are also purposefully isolated from the host system, so in " +"order to run a tool inside a Docker container there is additional work to" +" ensure that input files are available inside the container and output " +"files can be recovered from the container. A CWL runner can perform this" +" work automatically, allowing you to use Docker to simplify your software" +" management while avoiding the complexity of invoking and managing Docker" +" containers." +msgstr "" +"[Docker][docker]コンテナは、ソフトウェアとその依存関係のための完全な既知の良" +"いランタイムを提供することによって、ソフトウェアのインストールを簡素化します" +"。 しかし、コンテナはホストシステムから意図的に隔離されているため、Dockerコ" +"ンテナ内でツールを実行するには、入力ファイルがコンテナ内で利用可能で、出力フ" +"ァイルがコンテナから回収できることを確認するための追加作業が必要です。 CWL r" +"unnerはこの作業を自動的に行うことができるため、Dockerコンテナの呼び出しや管理" +"の複雑さを回避しながら、Dockerを使用してソフトウェア管理を簡素化できます。" + +#: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +msgid "" +"One of the responsibilities of the CWL runner is to adjust the paths of " +"input files to reflect the location where they appear inside the " +"container." +msgstr "CWL runnerの役割のひとつに、入力ファイルのパスをコンテナ内のでのパスに合わせ" +"ることがあります。" + +#: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +msgid "" +"This example runs a simple Node.js script inside a Docker container which" +" will then print \"Hello World\" to the standard output." +msgstr "この例では、Dockerコンテナ内で簡単なNode.jsスクリプトを実行し、標準出力に「Hello World」と表示します。" + +#: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 +msgid "`docker.cwl`" +msgstr "`docker.cwl`" + +#: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e +msgid "`docker-job.yml`" +msgstr "`docker-job.yml`" + +#: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +msgid "" +"Before we run this, let's just break it down and see what some bits do. " +"Most of this has been explained in previous sections, the only part that " +"is really new is the " +"[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" +" section." +msgstr "" +"これを実行する前に、これを分解して、いくつか細かく何をするのかを見てみましょ" +"う。 この大部分は以前のセクションで説明したもので、本当に新しいのは[`dockerR" +"equirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement) " +"の部分だけです。" + +#: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +msgid "" +"`baseCommand: node` tells CWL that we will be running this command using " +"the Node Js runtime that is meant for Javascript files. We then need to " +"specify some `hints` for how to find the container we want. In this case" +" we list just our requirements for the docker container in " +"`DockerRequirements`. The `dockerPull:` parameter takes the same value " +"that you would pass to a `docker pull` command. That is, the name of the " +"container image (you can even specify the tag, which is good idea for " +"best practices when using containers for reproducible research). In this " +"case we have used a container called `node:slim`." +msgstr "" +"`baseCommand: node` は、Javascript ファイル用の Node Js " +"ランタイムを使用してこのコマンドを実行することを CWL " +"に指示します。次に、必要なコンテナを見つける方法について、`hints` " +"をいくつか指定する必要があります。 この場合、`DockerRequirements` に docker " +"コンテナに関する要件だけを列挙します。 ` dockerPull:` パラメータは、`docker " +"pull` コマンドに渡すのと同じ値を取ります。つまり、コンテナイメージの名前です" +"(タグを指定することも可能で、再現可能な研究にコンテナを使用する際のベストプ" +"ラクティスに適しています)。この場合、`node:slim` " +"というコンテナを使用しました。" + +#: ../../src/topics/using-containers.md:52 54cade4978ec463bbb5c0d8c08e27adb +msgid "" +"Create a Javascript file named \"hello.js\" and invoke `cwltool` " +"providing the tool description and the input object on the command line:" +msgstr "" +"Javascriptで \"hello.js \"というファイルを作成し、`cwltool` " +"コマンドラインでツール定義と入力オブジェクトを指定して呼び出します:" + +#: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 +msgid "`hello.js`" +msgstr "`hello.js`" + +#: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +msgid "" +"Notice the CWL runner has constructed a Docker command line to run the " +"script." +msgstr "CWL runnerがスクリプトを実行するためにDockerコマンドラインを構築していること" +"に注目してください。" + +#: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +msgid "" +"In this example, the path to the script `hello.js` is " +"`/home/me/cwl/user_guide/hello.js` outside the container but " +"`/var/lib/cwl/job369354770_examples/hello.js` inside the container, as " +"reflected in the invocation of the `node` command." +msgstr "" +"この例では、スクリプト`hello.js` のパスは、コンテナの外側では `/home/me/cwl/user_guide/hello.js` " +"が、コンテナの内側では`/var/lib/cwl/job369354770_examples/hello.js` です。これは`node` " +"コマンドの呼び出しに反映されているためです。" + +#: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da +msgid "Workflows" +msgstr "ワークフロー" + +#: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 +msgid "" +"A workflow is a CWL processing unit that executes command-line tools, " +"expression tools, or workflows (sub-workflows) as steps. It must have " +"`inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" +"Workflowは、CommandLineTool、ExpressionTool、またはWorkflow(サブワークフロー" +")をステップ として実行する CWL 処理単位です。CWL定義には`inputs` 、`outputs`" +" 、`steps` を定義する必要があります。" + +#: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 +msgid "CWL workflow." +msgstr "CWLワークフローです。" + +#: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +msgid "" +"The CWL document `echo-uppercase.cwl` defines a workflow that runs the " +"command-line tool, and the expression tool showed in the earlier " +"examples." +msgstr "" +"CWL定義`echo-uppercase.cwl` は、CommandLineTool、および先の例で示したExpressi" +"onToolを実行するワークフローを定義しています。" + +#: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 +msgid "`echo-uppercase.cwl`" +msgstr "`echo-uppercase.cwl`" + +#: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +msgid "" +"A command-line tool or expression tool can also be written directly in " +"the same CWL document as the workflow. For example, we can rewrite the " +"`echo-uppercase.cwl` workflow as a single file:" +msgstr "" +"CommandLineToolやExpressionToolは、Workflowと同じCWL定義に直接記述することも" +"可能です。例えば、`echo-uppercase.cwl` " +"ワークフローを1つのファイルとして書き換えることができます:" + +#: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad +msgid "`echo-uppercase-single-file.cwl`" +msgstr "`echo-uppercase-single-file.cwl`" + +#: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +msgid "" +"Having separate files helps with modularity and code organization. But it" +" can be helpful writing everything in a single file for development. " +"There are other ways to combine multiple files into a single file (e.g. " +"`cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" +"ファイルを分けることは、モジュール化やコードの整理に役立ちます。しかし、開発" +"のためにすべてを1つのファイルに書いておくと便利なことがあります。他にも複数の" +"ファイルを1つのファイルにまとめる方法があり(例:`cwltool --pack` " +")このユーザーガイドの他のセクションで詳しく説明します。" + +#: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 +msgid "" +"For a sub-workflows you need to enable the requirement " +"`SubworkflowFeatureRequirement`. It is covered in another section of this" +" user guide in more detail." +msgstr "" +"サブワークフロー使うにはRequirementの1つである、`SubworkflowFeatureRequireme" +"nt` を有効にする必要があります。このユーザーガイドの別のセクションで、より詳" +"しく説明しています。" + +#: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 +msgid "Writing Workflows" +msgstr "ワークフローを書く" + +#: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 +msgid "" +"This workflow extracts a java source file from a tar file and then " +"compiles it." +msgstr "このワークフローでは、tarファイルからJavaのソースファイルを取り出し、コンパイルします。" + +#: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff +msgid "`1st-workflow.cwl`" +msgstr "`1st-workflow.cwl`" + +#: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 +#: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 +msgid "Visualization of 1st-workflow.cwl" +msgstr "1st-workflow.cwlの可視化" + +#: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +msgid "" +"[![Visualization of 1st-" +"workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-workflow.cwl)" +msgstr "" +"[![1st-workflow.cwlを可視化したもの](https://view.commonwl.org/graph/png/" +"github.com/common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/" +"common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)" + +#: ../../src/topics/workflows.md:183 5ff059fc8ae6471c8ea86dab7e5a93f5 +msgid "" +"Use a YAML or a JSON object in a separate file to describe the input of a" +" run:" +msgstr "Runの入力データを記述するために、別ファイルのYAMLまたはJSONオブジェクトを使用します:" + +#: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 +msgid "`1st-workflow-job.yml`" +msgstr "`1st-workflow-job.yml`" + +#: ../../src/topics/workflows.md:191 4a4db7da861547639524083bf35ccfc0 +msgid "" +"Next, create a sample Java file and add it to a tar file to use with the " +"command-line tool." +msgstr "次に、サンプルとなるJavaファイルを作成し、コマンドラインツールで使用するためにtarファイルに追加します。" + +#: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c +msgid "What's going on here? Let's break it down:" +msgstr "どうなっているのでしょう? 分解してみましょう:" + +#: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 +msgid "" +"The `cwlVersion` field indicates the version of the CWL spec used by the " +"document. The `class` field indicates this document describes a " +"workflow." +msgstr "" +"`cwlVersion` フィールドは、この文書が使用するCWL仕様のバージョンを示します。" +" ` class` フィールドは、この文書がワークフローを記述していることを示します。" + +#: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +msgid "" +"The `inputs` section describes the inputs of the workflow. This is a " +"list of input parameters where each parameter consists of an identifier " +"and a data type. These parameters can be used as sources for input to " +"specific workflows steps." +msgstr "" +"`inputs` セクションでは、ワークフローの入力について記述します。 これは入力パ" +"ラメータのリストであり、各パラメータは識別子とデータ型から構成されます。 こ" +"れらのパラメータは、特定のワークフロー・ステップへの入力として使用できます。" + +#: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +msgid "" +"The `outputs` section describes the outputs of the workflow. This is a " +"list of output parameters where each parameter consists of an identifier " +"and a data type. The `outputSource` connects the output parameter " +"`classfile` of the `compile` step to the workflow output parameter " +"`compiled_class`." +msgstr "" +"`outputs` セクションでは、ワークフローの出力について記述します。 これは出力" +"パラメータのリストであり、各パラメータは識別子とデータ型から構成されます。 `" +" outputSource` は、`compile` ステップの出力パラメータ`classfile` " +"を、ワークフロー出力パラメータ`compiled_class` とします。" + +#: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +msgid "" +"The `steps` section describes the actual steps of the workflow. In this " +"example, the first step extracts a file from a tar file, and the second " +"step compiles the file from the first step using the java compiler. " +"Workflow steps are not necessarily run in the order they are listed, " +"instead the order is determined by the dependencies between steps (using " +"`source`). In addition, workflow steps which do not depend on one " +"another may run in parallel." +msgstr "" +"`steps` セクションでは、ワークフローの実際のステップを説明しています。 " +"この例では、最初のステップで tar ファイルからファイルを抽出し、2 " +"番目のステップで java コンパイラを使用して最初のステップで抽出されたファイル" +"をコンパイルしています。ワークフローのステップは、必ずしもリストされた順序で" +"実行されるわけではなく、ステップ間の依存関係によって順序が決定されます(`sour" +"ce` を使用)。 また、互いに依存しないワークフロー・ステップは、並行して実行" +"されることがあります。" + +#: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +msgid "" +"The first step, `untar` runs `tar-param.cwl` (described previously in " +"[Parameter References](parameter-references.md)). This tool has two input" +" parameters, `tarfile` and `extractfile` and one output parameter " +"`extracted_file`." +msgstr "" +"最初のステップである`untar` は、`tar-param.cwl` を実行します([パラメータ参照" +"](parameter-references." +"md)で以前説明しました)。このツールは、2つの入力パラメータ、`tarfile` " +"と`extractfile` と1つの出力パラメータ`extracted_file` を持ちます。" + +#: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +msgid "" +"The ``in`` section of the workflow step connects these two input " +"parameters to the inputs of the workflow, `tarball` and " +"`name_of_file_to_extract` using `source`. This means that when the " +"workflow step is executed, the values assigned to `tarball` and " +"`name_of_file_to_extract` will be used for the parameters `tarfile` and " +"`extractfile` in order to run the tool." +msgstr "" +"ワークフローステップの``in`` " +"セクションは、これらの2つの入力パラメータを、`source` " +"を使用してワークフローの入力である`tarball` および`name_of_file_to_extract` " +"に接続しています。 つまり、ワークフローステップが実行されると、`tarball` " +"と`name_of_file_to_extract` " +"に割り当てられた値が、ツールを実行するために`tarfile` と`extractfile` " +"のパラメータに使用されることになり ます。" + +#: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +msgid "" +"The `out` section of the workflow step lists the output parameters that " +"are expected from the tool." +msgstr "ワークフローステップの`out` " +"セクションには、ツールから期待される出力パラメータが記載されています。" + +#: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 +msgid "" +"The second step `compile` depends on the results from the first step by " +"connecting the input parameter `src` to the output parameter of `untar` " +"using `untar/extracted_file`. It runs `arguments.cwl` (described " +"previously in [Additional Arguments and Parameters](additional-arguments-" +"and-parameters.md)). The output of this step `classfile` is connected to " +"the `outputs` section for the Workflow, described above." +msgstr "" +"第2ステップ `compile` は、第1ステップの結果に依存し、入力パラメータ`src` " +"を`untar` の出力パラメータに接続し、`untar/extracted_file` を使用します。 " +"これは、`arguments.cwl` (以前に [追加の引数とパラメータ](additional-" +"arguments-and-parameters.md)で説明したものです) " +"を実行します。このステップの出力`classfile` は、前述のワークフローの`outputs`" +" セクションに接続されています。" + +#: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d +msgid "Nested Workflows" +msgstr "ネストされたワークフロー" + +#: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +msgid "" +"Workflows are ways to combine multiple tools to perform a larger " +"operations. We can also think of a workflow as being a tool itself; a CWL" +" workflow can be used as a step in another CWL workflow, if the workflow " +"engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" +"ワークフローは、複数のツールを組み合わせてより大きな処理を実行するための方法" +"です。ワークフローエンジンが`SubworkflowFeatureRequirement` " +"をサポートしている場合、CWL ワークフローを別の CWL " +"ワークフローのステップにできます :" + +#: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 +msgid "" +"Here's an example workflow that uses our `1st-workflow.cwl` as a nested " +"workflow:" +msgstr "`1st-workflow.cwl` をネストしたワークフローの例を紹介します:" + +#: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 +msgid "`nestedworkflows.cwl`" +msgstr "`nestedworkflows.cwl`" + +#: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 +msgid "" +"This two-step workflow starts with the `create-tar` step which is " +"connected to the `compile` step in orange; `compile` is another workflow," +" diagrammed on the right. In purple we see the fixed string " +"`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" +"この2ステップのワークフローは、`create-tar` ステップから始まり、オレンジ色の`compile` " +"ステップに接続されています。`compile` は、右図にある別のワークフローです。紫色では、固定文字列`\"Hello.java\"` " +"が`name_of_file_to_extract` として与えられているのがわかります。" + +#: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda +msgid "" +" \"Visualization" +msgstr "" +"\"Visualization \"Visualization" + +#: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 +msgid "" +"A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, " +"its CWL file is included with `run`. The workflow inputs (`tarball` and " +"`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " +"mapped to become the step's input/outputs." +msgstr "" +"CWL`Workflow` は、`CommandLineTool` を`step` として使用することができ、その " +"CWL ファイルは`run` に記述されます。ワークフローの入力(`tarball` " +"および`name_of_file_to_extract` )と出力(`compiled_class` " +")は、ステップの入力/出力になるようにマッピングできます。" + +#: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +msgid "" +"Our `1st-workflow.cwl` was parameterized with workflow inputs, so when " +"running it we had to provide a job file to denote the tar file and " +"`*.java` filename. This is generally best-practice, as it means it can be" +" reused in multiple parent workflows, or even in multiple steps within " +"the same workflow." +msgstr "" +"`1st-workflow.cwl` はワークフロー入力でパラメータ化されているため、" +"実行時には tar ファイルと`*.java` ファイル名を示すジョブファイルを提供する必" +"要がありました。これは、複数の親ワークフローや、同じワークフロー内の複数のス" +"テップで再利用できることを意味するため、一般的にベストプラクティスです。" + +#: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 +msgid "" +"Here we use `default:` to hard-code `\"Hello.java\"` as the " +"`name_of_file_to_extract` input, however our workflow also requires a tar" +" file at `tarball`, which we will prepare in the `create-tar` step. At " +"this point it is probably a good idea to refactor `1st-workflow.cwl` to " +"have more specific input/output names, as those also appear in its usage " +"as a tool." +msgstr "" +"ここでは、`default:` を使って、`\"Hello.java\"` を`name_of_file_to_extract` " +"input として固定しています。しかし、このワークフローでは`tarball` の tar " +"ファイルも必要です。これは`create-tar` ステップで用意します。この時点で" +"、`1st-workflow.cwl` 、より具体的な入力/出力名を持つようにリファクタリングす" +"るのがよいでしょう。これらは、ツールとしての使用法にも現れるからです。" + +#: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +msgid "" +"It is also possible to do a less generic approach and avoid external " +"dependencies in the job file. So in this workflow we can generate a hard-" +"coded `Hello.java` file using the previously mentioned " +"`InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" +"また、あまり一般的でない方法で、ジョブファイルの外部依存を回避することも可能" +"です。そこで、このワークフローでは、先に述べた`InitialWorkDirRequirement` " +"の要件を使用して、ハードコードされた`Hello.java` ファイルを生成してから、" +"それを tar ファイルに追加できます。" + +#: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee +msgid "" +"In this case our step can assume `Hello.java` rather than be " +"parameterized, so we can use hardcoded values `hello.tar` and " +"`Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" +"この場合、ステップではパラメータ化するのではなく、`Hello.java` " +"を想定することができるので、`baseCommand` に直接書かれた値`hello.tar` " +"と`Hello.java` を使用でき、結果として`outputs` が得られます:" + +#: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c +msgid "" +"Did you notice that we didn't split out the `tar --create` tool to a " +"separate file, but rather embedded it within the CWL Workflow file? This " +"is generally not best practice, as the tool then can't be reused. The " +"reason for doing it in this case is because the command line is hard-" +"coded with filenames that only make sense within this workflow." +msgstr "" +"`tar --create` ツールを別のファイルに分割せず、CWL Workflow 定義の中に埋め込" +"んだことにお気づきでしょうか。これは一般的にベストプラクティスではありません" +"。なぜなら、そのツールを再利用できないからです。このケースでそれを行う理由は" +"、コマンドラインに、このワークフロー定義内でしか意味をなさないファイル名がハ" +"ードコーディングされているためです。" + +#: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 +msgid "" +"In this example we had to prepare a tar file outside, but only because " +"our inner workflow was designed to take that as an input. A better " +"refactoring of the inner workflow would be to take a list of Java files " +"to compile, which would simplify its usage as a tool step in other " +"workflows." +msgstr "" +"この例では、外部にtarファイルを用意する必要がありました。これは内部ワークフロ" +"ーがそれを入力として受け取るように設計されているためです。内部ワークフローの" +"リファクタリングとしては、コンパイルするjavaファイルのリストを受け取るように" +"すれば、他のワークフローにおいてもツールステップとしての使い方が簡単になりま" +"す。" + +#: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 +msgid "" +"Nested workflows can be a powerful feature to generate higher-level " +"functional and reusable workflow units - but just like for creating a CWL" +" Tool description, care must be taken to improve its usability in " +"multiple workflows." +msgstr "" +"ネストされたワークフローは、より高機能で再利用可能なワークフローユニットを生" +"成する強力な機能ですが、CWLツール定義の作成と同様に、複数のワークフローでの使" +"い勝手を向上させるための配慮が必要です。" + +#: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 +msgid "Scattering Steps" +msgstr "Scatter ステップ" + +#: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d +msgid "" +"Now that we know how to write workflows, we can start utilizing the " +"`ScatterFeatureRequirement`. This feature tells the runner that you wish " +"to run a tool or workflow multiple times over a list of inputs. The " +"workflow then takes the input(s) as an array and will run the specified " +"step(s) on each element of the array as if it were a single input. This " +"allows you to run the same workflow on multiple inputs without having to " +"generate many different commands or input yaml files." +msgstr "" +"ワークフローの書き方がわかったので、`ScatterFeatureRequirement` を利用し始め" +"ることができます。この機能は、ツールやワークフローを入力のリストに対して複数" +"回実行したいことをrunnerに伝えます。ワークフローは、入力を配列として受け取り" +"、配列の各要素をあたかも1つの入力であるかのように、指定されたステップを実行し" +"ます。これにより、多くの異なるコマンドや入力 yaml ファイルを生成することなく" +"、複数の入力に対して同じワークフローを実行できます。" + +#: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +msgid "" +"The most common reason a new user might want to use scatter is to perform" +" the same analysis on different samples. Let's start with a simple " +"workflow that calls our first example (`hello_world.cwl`) and takes an " +"array of strings as input to the workflow:" +msgstr "" +"新規ユーザーがscatterを使いたいと思う最も一般的な理由は、異なるサンプルに対して同じ分析を実行することです。最初の例(`hello_world.cwl`" +" )を呼び出し、ワークフローへの入力として文字列の配列を受け取る、簡単なワークフローから始めましょう:" + +#: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 +msgid "`scatter-workflow.cwl`" +msgstr "`scatter-workflow.cwl`" + +#: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +msgid "" +"Aside from the `requirements` section including " +"`ScatterFeatureRequirement`, what is going on here?" +msgstr "`requirements` セクションの`ScatterFeatureRequirement` などを含めて、ここはどうなっているのでしょうか?" + +#: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 +msgid "" +"First of all, notice that the main workflow level input here requires an " +"array of strings." +msgstr "まず、ここでのメインワークフローの入力には、文字列の配列が必要であることに注" +"目してください。" + +#: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +msgid "" +"Here we've added a new field to the step `echo` called `scatter`. This " +"field tells the runner that we'd like to scatter over this input for this" +" particular step. Note that the input name listed after scatter is the " +"one of the step's input, not a workflow level input." +msgstr "" +"ここでは、ステップ`echo` に、`scatter` " +"という新しいフィールドを追加しました。このフィールドは、CWL runnerに、このス" +"テップの入力を分散して実行したいことを伝えます。scatterの後に記載されている入" +"力名は、ワークフローレベルの入力名ではなく、ステップの入力名であることに注意" +"してください。" + +#: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 +msgid "" +"For our first scatter, it's as simple as that! Since our tool doesn't " +"collect any outputs, we still use `outputs: []` in our workflow, but if " +"you expect that the final output of your workflow will now have multiple " +"outputs to collect, be sure to update that to an array type as well!" +msgstr "" +"最初のスキャッターでは、これと同じくらい簡単です!このツールは出力を回収しな" +"いので、`outputs: []` を使います。しかし、ワークフローの最終出力に収集する複" +"数の出力があることが予想される場合、それを配列型に更新するようにしてください" +"!" + +#: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 +msgid "Using the following input file:" +msgstr "以下の入力ファイルを使用します:" + +#: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d +msgid "`scatter-job.yml`" +msgstr "`scatter-job.yml`" + +#: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d +msgid "" +"As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply" +" calls the command `echo` on a message. If we invoke `cwltool scatter-" +"workflow.cwl scatter-job.yml` on the command line:" +msgstr "" +"注意点として、[`hello_world.cwl`](../introduction/quick-start.md) " +"は単にメッセージに対して`echo` というコマンドを呼び出します。" +"コマンドラインで `cwltool scatter-workflow.cwl scatter-job.yml` " +"を呼び出します:" + +#: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f +msgid "" +"You can see that the workflow calls echo multiple times on each element " +"of our `message_array`. Ok, so how about if we want to scatter over two " +"steps in a workflow?" +msgstr "" +"ワークフローは、`message_array` の各要素毎に、echo " +"を呼び出していることがわかります。では、ワークフローの2つのステップに分散させたい場合はどうでしょうか?" + +#: ../../src/topics/workflows.md:469 99b5c8a845ab4beb8524a69c051e2d42 +msgid "" +"Let's perform a simple echo like above, but capturing `stdout` by adding " +"the following lines instead of `outputs: []`" +msgstr "上記のような簡単なエコーを実行します、`outputs: []`の代わりに次の行を追加して`stdout` をキャプチャしてみましょう" + +#: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 +msgid "`hello_world_to_stdout.cwl`" +msgstr "`hello_world_to_stdout.cwl`" + +#: ../../src/topics/workflows.md:480 173bd28708834f11a2a1366b579b7ad7 +msgid "" +"And add a second step that uses `wc` to count the characters in each " +"file. See the tool below:" +msgstr "そして、`wc` を使って各ファイルの文字数をカウントする第2ステップを追加します。以下のツールを見てください:" + +#: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +msgid "" +"Now, how do we incorporate scatter? Remember the scatter field is under " +"each step:" +msgstr "さて、scatterはどのように取り入れるのでしょうか?scatterフィールドは各ステッ" +"プの下にあることを思い出してください:" + +#: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b +msgid "`scatter-two-steps.cwl`" +msgstr "`scatter-two-steps.cwl`" + +#: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +msgid "" +"Here we have placed the scatter field under each step. This is fine for " +"this example since it runs quickly, but if you're running many samples " +"for a more complex workflow, you may wish to consider an alternative. " +"Here we are running scatter on each step independently, but since the " +"second step is not dependent on the first step completing all languages, " +"we aren't using the scatter functionality efficiently. The second step " +"expects an array as input from the first step, so it will wait until " +"everything in step one is finished before doing anything. Pretend that " +"`echo Hello World!` takes 1 minute to perform, `wc -c` on the output " +"takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, " +"and `wc` on that output takes 3 minutes. Even though `echo Hello World!` " +"could finish in 4 minutes, it will actually finish in 8 minutes because " +"the first step must wait on `echo Hallo welt!`. You can see how this " +"might not scale well." +msgstr "" +"ここでは、各ステップの下にscatterフィールドを配置しました。この例では素早く実" +"行されるので問題ありませんが、より複雑なワークフローのために多くのサンプルを" +"実行する場合は、別の方法を検討することをお勧めします。ここでは、各ステップで" +"独立してscatterを実行していますが、2番目のステップはすべての言語を完了する最" +"初のステップに依存していないため、scatter機能を効率的に使用することはできませ" +"ん。第2ステップは第1ステップからの入力として配列を期待するので、何かをする前" +"に第1ステップのすべてが終了するまで待つことになります。`echo Hello World!` " +"の実行に1分、出力の`wc -c` に3分、`echo Hallo welt!` の実行に5分、出力の`wc` " +"に3分かかると仮定してください。`echo Hello World!` " +"が4分で終了しても、最初のステップは`echo Hallo welt!` を待つ必要があるので、" +"実際には8分で終了することになります。このように、うまくスケールしないことがお" +"わかりいただけると思います。" + +#: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 +msgid "" +"Ok, so how do we scatter on steps that can proceed independent of other " +"samples? Remember from [Nested Workflows](#nested-workflows), that we can" +" make an entire workflow a single step in another workflow! Convert our " +"two-step workflow to a single step subworkflow:" +msgstr "" +"では、他のサンプルと独立して進行できるステップを分散させるにはどうすればいいのでしょうか?[Nested Workflows](#nested-" +"workflows)で、ワークフロー全体を別のワークフローの1ステップにすることができることを思い出しましょう!2ステップのワークフローを1ステップのサブワークフローに変換してみましょう:" + +#: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 +msgid "`scatter-nested-workflow.cwl`" +msgstr "`scatter-nested-workflow.cwl`" + +#: ../../src/topics/workflows.md:519 508ef2240879445594b0f262ed11a01d +msgid "" +"Now the scatter acts on a single step, but that step consists of two " +"steps so each step is performed in parallel." +msgstr "今、scatter は1つのステップに作用しますが、そのステップは2つのステップで構成" +"されているので、各ステップは並行して実行されます。" + +#: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef +msgid "Conditional Workflows" +msgstr "条件分岐ワークフロー" + +#: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 +msgid "" +"This workflow contains a conditional step and is executed based on the " +"input. This allows workflows to skip additional steps based on input " +"parameters given at the start of the program or by previous steps." +msgstr "" +"このワークフローは、条件付きステップを含み、入力に基づき実行されます。これに" +"より、ワークフローは、プログラムの開始時に与えられた入力パラメータや以前のス" +"テップによって、追加のステップをスキップできます。" + +#: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 +msgid "`conditional-workflow.cwl`" +msgstr "`conditional-workflow.cwl`" + +#: ../../src/topics/workflows.md:566 4a4a2b2b99b44d449adb246cebce0a26 +msgid "" +"The first thing you'll notice is that this workflow is only compatible " +"for version 1.2 or greater of the CWL standards." +msgstr "まず、このワークフローはCWL仕様のバージョン1." +"2以降から対応しているがわかります。" + +#: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 +msgid "" +"The first step of the workflow (step1) contains two input properties and " +"will execute foo.cwl when the conditions are met. The new property `when`" +" is where the condition validation takes place. In this case only when " +"`in1` from the workflow contains a value `< 1` this step will be " +"executed." +msgstr "" +"ワークフローの最初のステップ(step1)には2つの入力プロパティがあり、条件を満" +"たしたときにfoo.cwlを実行します。新しいプロパティ`when` " +"は、条件の検証が行われる場所です。この場合、ワークフローから`in1` に値`< 1` " +"が含まれるときのみ、このステップが実行されます。" + +#: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf +msgid "" +"Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value" +" will pass the first conditional step and will therefore be executed and " +"is shown in the log by `INFO [step step1] start` whereas the second step " +"is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" +"次のコマンド`cwltool cond-wf-003.1.cwl --val 0` を実行します。この値(val)は最" +"初の条件ステップを通過するため実行され、ログには`INFO [step step1] start` " +"で示されています。一方、2番目のステップは`INFO [step step2] will be skipped` " +"で示されているようにスキップされ ます。" + +#: ../../src/topics/workflows.md:607 7cd80b31a94543358ece7a2d413adce9 +msgid "" +"When a value of 3 is given the first conditional step will not be " +"executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" +"`cwltool cond-wf-003.1.cwl --val 3`のように値(val)として3が与えられた場合、最" +"初の条件ステップは実行されませんが、2番目の条件ステップは実行されます." + +#: ../../src/topics/workflows.md:627 9679e32f65e0482a8b083387e4a18c1f +msgid "" +"If no conditions are met for example when using `--val 2` the workflow " +"will raise a permanentFail." +msgstr "`--val 2` を使用した場合など、条件を満たさない場合は、ワークフローはpermanent" +"Failを発生させ、失敗となります。" + +#: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 +msgid "YAML Guide" +msgstr "YAMLガイド" + +#: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb +msgid "" +"[YAML][yaml] is a file format designed to be readable by both computers " +"and humans. This guide introduces the features of YAML that are relevant " +"when writing CWL descriptions and input parameter files." +msgstr "" +"[YAML][yaml]は、コンピュータと人間の両方が読むことができるように設計されたフ" +"ァイル形式です。本ガイドでは、CWL定義や入力パラメータファイルを書く際に関連す" +"るYAMLの機能を紹介します。" + +#: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "すでにYAMLに慣れている方は、このセクションを読み飛ばしてもかまいません。" + +#: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d +msgid "Contents" +msgstr "目次" + +#: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "[キーバリューペア](#key-value-pairs)" + +#: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d +msgid "[Comments](#comments)" +msgstr "[コメント](#comments)" + +#: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 +msgid "[Maps](#maps)" +msgstr "[マップ](#maps)" + +#: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c +msgid "[Arrays](#arrays)" +msgstr "[配列](#arrays)" + +#: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 +msgid "[JSON Style](#json-style)" +msgstr "[JSON 形式](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 +msgid "Key-Value Pairs" +msgstr "キーバリューペア" + +#: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe +msgid "" +"Fundamentally, a file written in YAML consists of a set of _key-value " +"pairs_. Each pair is written as `key: value`, where whitespace after the " +"`:` is required. Key names in CWL files should not contain whitespace - " +"[_camelCase_][camelCase] is used for multi-word key names that have " +"special meaning in the CWL specification and underscored key names " +"otherwise. For example:" +msgstr "" +"基本的に、YAML で書かれたファイルは_キーと値のペア_ のセットで構成されています。各ペアは`key: value` として記述され、`:` " +"の後に空白が必要です。CWLファイルのキー名には、空白を含めるべきではありません。[_camelCase_][camelCase] " +"は、CWL仕様で特別な意味を持つ複数語のキー名、それ以外はアンダースコアのキー名として使用します。例えば:" + +#: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 +msgid "" +"The YAML above defines four keys - `first_name`, `last_name`, " +"`age_years`, and `home` - with their four respective values. Values can " +"be character strings, numeric (integer, floating point, or scientific " +"representation), Boolean (`true` or `false`), or more complex nested " +"types (see below)." +msgstr "" +"上記のYAMLは4つのキー -`first_name`,`last_name`,`age_years`, `home` - 及びそ" +"れぞれの値を定義しています。値は、文字列、数値(整数、浮動小数点、科学的表現" +")、ブール値(`true` または`false` " +")、またはより複雑な入れ子型(下記参照)にできます。" + +#: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 +msgid "" +"Values may be wrapped in quotation marks, but be aware that this may " +"change the way that they are interpreted i.e. `\"1234\"` will be treated " +"as a character string , while `1234` will be treated as an integer. This " +"distinction can be important, for example when describing parameters to a" +" command: in CWL all parts of `baseCommand` must be strings so, if you " +"want to specify a fixed numeric value to a command, make sure that you " +"wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" +"値は引用符で括ることができますが、意味が変わってきます。例えば、`\"1234\"` " +"は文字列として扱われ、`1234` は整数値として扱われます。CWLでは、`baseCommand`" +" のすべての部分が文字列でなければならないので、コマンドに固定した数値を指定す" +"る場合は、その数値を引用符で囲むようにしてください:[echo, \"42\"]`." + +#: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 +msgid "Comments" +msgstr "コメント" + +#: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 +msgid "" +"You may use `#` to add comments to your CWL and parameter files. Any " +"characters to the right of ` #` will be ignored by the program " +"interpreting the YAML. For example:" +msgstr "" +"`#` を使うと、CWL定義や入力パラメータファイルにコメントを追加できます。` #` " +"の右側にある文字は、YAML " +"を解釈するプログラムによって無視されます。たとえば、次のようになります:" + +#: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +msgid "" +"If there is anything on the line before the comment, be sure to add at " +"least one space before the `#`!" +msgstr "同じ行の中でコメントの前に何かある場合は、必ず`#` " +"の前に少なくとも1つのスペースを追加してください!" + +#: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +msgid "Maps" +msgstr "マップ" + +#: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e +msgid "" +"When describing a tool or workflow with CWL, it is usually necessary to " +"construct more complex, nested representations. Referred to as _maps_, " +"these hierarchical structures are described in YAML by providing " +"additional key-value pairs as the value of any key. These pairs " +"(sometimes referred to as \"children\") are written on new lines under " +"the key to which they belong (the \"parent\"), and should be indented " +"with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" +"CWLでツールやワークフローを定義する場合、通常、より複雑で入れ子構造の表現を構" +"築する必要があります。_maps_ と呼ばれるこれらの階層構造は、キーの値として追加" +"のキーと値のペアを提供することによりYAMLで記述されます。これらのペア(「子」" +"と呼ばれることもあります)は、属するキー(「親」)の下の新しい行に書かれ、2つ" +"のスペースでインデントされます(⇥タブ文字は許可されていません)。例えば、次の" +"ようになります:" + +#: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 +msgid "" +"The YAML above illustrates how to build up complex nested object " +"descriptions relatively quickly. The `inputs` map contains a single key, " +"`example_flag`, which itself contains two keys, `type` and " +"`inputBinding`, while one of these children, `inputBinding`, contains a " +"further two key-value pairs (`position` and `prefix`). See the " +"[Arrays](#arrays) section below for more information about providing " +"multiple values/key-value pairs for a single key. For comparison with the" +" example YAML above, here is a graphical representation of the `inputs` " +"object it describes." +msgstr "" +"上記のYAMLは、複雑なネストされたオブジェクトの記述を比較的素早く構築する方法" +"を示しています。`inputs` マップはキー`example_flag` " +"だけを含み、それ自体が2つのキー、`type` と`inputBinding` " +"を含み、これらの子の1つ、`inputBinding` はさらに2つのキーと値のペア " +"(`position` と`prefix`) を含みます。1つのキーに対して複数の値/キーバリューペ" +"アを提供することについての詳細は、以下の[配列](#arrays)のセクションを参照して" +"ください。上記のYAMLの例と比較するために、`inputs` " +"オブジェクトを図式化したものを示します。" + +#: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df +msgid "Arrays" +msgstr "配列" + +#: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 +msgid "" +"In certain circumstances, it is necessary to provide multiple values or " +"objects for a single key. As we've already seen in the [Maps](#maps) " +"section above, more than one key-value pair can be mapped to a single " +"key. However, it is also possible to define multiple values for a key " +"without having to provide a unique key for each value. We can achieve " +"this with an _array_, where each value is defined on its own line and " +"preceded by `-`. For example:" +msgstr "" +"ある状況下では、1つのキーに対して複数の値やオブジェクトを提供する必要がありま" +"す。上記の[Maps](#maps)のセクションですでに見たように、1つのキーに複数のキー" +"と値のペアをマッピングできます。しかし、各値にユニークなキーを用意しなくても" +"、キーに対して複数の値を定義することも可能です。この場合、_array_ " +"を用いて、各値を独自の行で定義し、その前に`-` " +"を置くことで実現できます。例えば、次のようになります:" + +#: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f +msgid "and a more complex example combining maps and arrays:" +msgstr "と、マップと配列を組み合わせたより複雑な例です:" + +#: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc +msgid "JSON Style" +msgstr "JSON形式" + +#: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b +msgid "" +"YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and " +"arrays can also be defined in YAML using the native JSON syntax. For " +"example:" +msgstr "" +"YAMLは[JavaScript Object Notation " +"(JSON)][json]に基づいています。マップと配列は、JSON構文を使ってYAMLで定義することもできます。例えば:" + +#: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 +msgid "and:" +msgstr "と:" + +#: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +msgid "" +"Native JSON can be useful in indicating where a field is intentionally " +"left empty (such as `[]` for an empty array), as well as where it makes " +"more sense for the values to be located on the same line (For example, " +"when providing option flags and their values in a shell command). " +"However, as the second example above shows, it can severely affect the " +"readability of a YAML file, and should be used sparingly." +msgstr "" +"ネイティブ JSON は、フィールドが意図的に空のままになっている場所 " +"(空の配列を表す`[]` など) や、値が同じ行にあることがより理にかなっている場所 " +"(たとえば、シェルコマンドでオプションフラグとその値を提供する場合) を示すのに" +"便利なことがあります。しかし、上の2番目の例が示すように、YAMLファイルの可読性" +"に深刻な影響を与える可能性があるので、控えめに使用する必要があります。" + +#: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 +msgid "Reference" +msgstr "リファレンス" + +#: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 +msgid "" +"The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for" +" us while we wrote this guide, though it also covers features that are " +"not valid in CWL." +msgstr "" +"[Learn YAML in Y Minutes][yaml-y-mins] リファレンスは、CWLでは有効でない機能" +"もカバーしていますが、このガイドを書く間、私たちにとって非常に役に立ちました" +"。" + +#: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 +msgid "Tutorials" +msgstr "チュートリアル" + +#: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae +msgid "" +"This is a list of tutorials provided by the CWL community. Use the `Edit " +"this page` link in the menu if you would like to add another tutorial to " +"the list." +msgstr "" +"これは、CWL コミュニティによって提供されたチュートリアルのリストです。リストに他のチュートリアルを追加したい場合は、メニューの`Edit " +"this page` リンクを使用してください。" + +#: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d +msgid "Beginner Tutorials" +msgstr "初心者向けチュートリアル" + +#: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e +msgid "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-" +"tutorial/)" +msgstr "" +"[Common Workflow Languageによるワークフロー入門:コントリビューターのために](https://carpentries-" +"incubator.github.io/cwl-novice-tutorial/)" + +#: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f +msgid "Advanced Tutorials" +msgstr "上級者向けチュートリアル" + +#: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "[CWLでのTypeScript](https://github.com/umccr/cwl-ica/wiki/TypeScript)" + +#: ../../src/tutorials.md:15 e640316669104239970794191b6da38b +msgid "Bioinformatics Tutorials" +msgstr "バイオインフォマティクス・チュートリアル" + +#: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "[CWLでrnaseq](https://arvados.github.io/rnaseq-cwl-training/)" + +#~ msgid "In CWL, everything must be directly stated." +#~ msgstr "CWLでは、すべてを直接的に記述する必要があります。。" + +#~ msgid "Optional Inputs 💯" +#~ msgstr "オプション入力 💯" + +#~ msgid "Enum Inputs ⚜️" +#~ msgstr "列挙型入力 ⚜️" + +#~ msgid "Record Inputs 📀" +#~ msgstr "レコード入力 📀" + +#~ msgid "Debug JavaScript Expressions" +#~ msgstr "JavaScriptの式をデバッグする" + +#~ msgid "" +#~ "The FAIR principles have laid a " +#~ "foundation for sharing and publishing " +#~ "digital assets, and in particular, data." +#~ " The FAIR principles emphasize machine " +#~ "accessibility and that all digital " +#~ "assets should be Findable, Accessible, " +#~ "Interoperable, and Reusable. Workflows encode" +#~ " the methods by which the scientific" +#~ " process is conducted and via which" +#~ " data are created. It is thus " +#~ "important that workflows support the " +#~ "creation of FAIR data and adhere " +#~ "to the FAIR principles. — [FAIR " +#~ "Computational " +#~ "Workflows](https://workflows.community/groups/fair/), Workflows" +#~ " Community Initiative." +#~ msgstr "" + +#~ msgid "" +#~ "If you are using Windows, you will" +#~ " have to install the [Windows " +#~ "Subsystem for Linux 2](https://learn.microsoft.com" +#~ "/en-us/windows/wsl/install) (WSL2). Visit the " +#~ "`cwltool` [documentation](https://github.com/common-" +#~ "workflow-language/cwltool/blob/main/README.rst#ms-windows-" +#~ "users) for details on installing WSL2." +#~ " Your operating system also needs " +#~ "internet access and a recent version " +#~ "of Python (3.6+)." +#~ msgstr "" + +#~ msgid "" +#~ "`cwltool` can be installed with `pip`." +#~ " We recommend using a virtual " +#~ "environment like `venv` or `conda`. The" +#~ " following commands will create and " +#~ "activate a Python virtual environment " +#~ "using the `venv` module, and install " +#~ "`cwltool` in that environment:" +#~ msgstr "" +#~ "`cwltool` は、`pip` でインストールすることができます。`venv` または`conda`" +#~ " のような仮想環境を使用することをお勧めします。以下のコマンドは、`venv` モジュールを使用して " +#~ "Python 仮想環境を作成およびアクティブ化し、その環境内に`cwltool` をインストールします:" + +#~ msgid "Installing `cwltool` with `pip` and `venv`." +#~ msgstr "`pip` と `venv` での `cwltool` のインストール。" + +#~ msgid "Cwl-runner Python Module" +#~ msgstr "Cwl-runner Pythonモジュール" + +#~ msgid "" +#~ "This indicates whether a process " +#~ "requires outgoing IPv4/IPv6 network access." +#~ " If a command-line tool is " +#~ "written manually in CWL v1.1+, there " +#~ "is a need to specify when network" +#~ " access is required." +#~ msgstr "" +#~ "これは、プロセスが発信IPv4/IPv6ネットワークアクセスを必要とするかどうかを示します。CWL " +#~ "v1.1+でCommandLineToolを手動で記述する場合、ネットワークアクセスが必要なタイミングを指定する必要があります。" + +#~ msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +#~ msgstr "このようなファイルを生成するために、`InitialWorkDirRequirement` を利用することができます。" + +#~ msgid "" +#~ "Note also that the author of this" +#~ " CWL description has also included " +#~ "`ResourceRequirement`s, specifying the minimum " +#~ "amount of RAM and number of cores" +#~ " required for the tool to run " +#~ "successfully, as well as details of " +#~ "the version of the software that " +#~ "the description was written for and " +#~ "other useful metadata. These features " +#~ "are discussed further in other chapters" +#~ " of this user guide." +#~ msgstr "" + +#~ msgid "From `Workflow`" +#~ msgstr "`Workflow`から" + +#~ msgid "" +#~ "The field `inputBinding` is optional and" +#~ " indicates whether and how the input" +#~ " parameter should appear on the " +#~ "tool's command line. If `inputBinding` " +#~ "is missing, the parameter does not " +#~ "appear on the command line. Let's " +#~ "look at each example in detail." +#~ msgstr "" + +#~ msgid "" +#~ "If you try running it with " +#~ "`cwltool`, the command will fail since" +#~ " `cwltool` does not have enough " +#~ "information to know how to execute " +#~ "it:" +#~ msgstr "`cwltool` だけで実行しようとすると、`cwltool` は実行するのに必要な情報がないため、コマンドは失敗します:" + +#~ msgid "" +#~ "Often, tool descriptions will be written" +#~ " for a specific version of a " +#~ "software. To make it easier for " +#~ "others to use your descriptions, you " +#~ "can include a `SoftwareRequirement` field " +#~ "in the `hints` section. This may " +#~ "also help to avoid confusion about " +#~ "which version of a tool the " +#~ "description was written for." +#~ msgstr "" + +#~ msgid "" +#~ "As well as a version number, a " +#~ "unique resource identifier (URI) for the" +#~ " tool is given in the form of" +#~ " an [RRID][rrid]. Resources with RRIDs " +#~ "can be looked up in the " +#~ "[SciCrunch][scicrunch] registry, which provides " +#~ "a portal for finding, tracking, and " +#~ "referring to scientific resources " +#~ "consistently. If you want to specify " +#~ "a tool as a `SoftwareRequirement`, " +#~ "search for the tool on SciCrunch " +#~ "and use the RRID that it has " +#~ "been assigned in the registry. (Follow" +#~ " this [Adding a Resource Tutorial" +#~ "][scicrunch-add-tool] to add a tool" +#~ " to SciCrunch). You can use this " +#~ "RRID to refer to the tool (via " +#~ "[identifiers.org][identifiers]) in the `specs` " +#~ "field of your requirement description. " +#~ "Other good choices, in order of " +#~ "preference, are to include the DOI " +#~ "for the main tool citation and the" +#~ " URL to the tool." +#~ msgstr "" + +#~ msgid "" +#~ "Normally, input files are located in " +#~ "a read-only directory separate from " +#~ "the output directory. This causes " +#~ "problems if the underlying tool expects" +#~ " to write its output files alongside" +#~ " the input file in the same " +#~ "directory. You use `InitialWorkDirRequirement` " +#~ "to stage input files into the " +#~ "output directory. In this example, we" +#~ " use a JavaScript expression to " +#~ "extract the base name of the input" +#~ " file from its leading directory " +#~ "path." +#~ msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/sphinx.po b/locales/pt_BR/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..0f718690 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/sphinx.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2023-01-26 13:55+0000\n" +"Last-Translator: Michael Crusoe \n" +"Language-Team: none\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.16-dev\n" +"Generated-By: Babel 2.10.3\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "Navegação principal" + +#: ../../src/_templates/sidebar-nav-bs.html:3 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "Seção Navegação" diff --git a/locales/pt_BR/LC_MESSAGES/user_guide.po b/locales/pt_BR/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..30ebfbda --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/user_guide.po @@ -0,0 +1,4442 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-16 11:48+0100\n" +"PO-Revision-Date: 2023-04-29 16:47+0000\n" +"Last-Translator: Michael Crusoe \n" +"Language: pt_BR\n" +"Language-Team: Portuguese (Brazil) " +"\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac +msgid "Licenses" +msgstr "Licenças" + +#: ../../LICENSE.md:4 9dd9705700664b31a3f296d263b4028b +msgid "Instructional Material" +msgstr "Material Instrucional" + +#: ../../LICENSE.md:6 e54324bd39cd431d91b32e338217b8c7 +msgid "" +"All Common Workflow Language project instructional material and changes " +"to the structure are also made available under the [Creative Commons " +"Attribution license][cc-by-human]. The following is a human-readable " +"summary of (and not a substitute for) the [full legal text of the CC BY " +"4.0 license][cc-by-legal]." +msgstr "" +"Todo o material instrucional do projeto Common Workflow Language e " +"alterações na estrutura também são disponibilizados sob a [licença " +"Creative Commons Attribution][cc-by-human]. O seguinte é um resumo " +"legível por humanos de (e não um substituto para) o [texto legal completo" +" da licença CC BY 4.0][cc-by-legal]." + +#: ../../LICENSE.md:12 754f3f54aa4142ef9dac27f508dd0bca +msgid "You are free:" +msgstr "Tem o direito de:" + +#: ../../LICENSE.md:14 d2b1d5e965ef4e71b64c359549919975 +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"**Compartilhar**---copiar e redistribuir o material em qualquer suporte " +"ou formato" + +#: ../../LICENSE.md:15 fe9551ffef8149bf8da50e70318e8de8 +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**Adaptar**---remixar, transformar, e criar a partir do material" + +#: ../../LICENSE.md:17 247db3bcc7024c44a044886a29ef1414 +msgid "for any purpose, even commercially." +msgstr "para qualquer fim, mesmo que comercial." + +#: ../../LICENSE.md:19 c04d906124854afc917707b7b4e45bb2 +msgid "" +"The licensor cannot revoke these freedoms as long as you follow the " +"license terms:" +msgstr "" +"O licenciante não pode revogar estes direitos desde que você respeite os " +"termos da licença:" + +#: ../../LICENSE.md:24 551cb5ab59dd4737b1042a4ef79ffab7 +msgid "" +"**Attribution**---You must give appropriate credit (mentioning that your " +"work is derived from work that is Copyright © the Common Workflow " +"Language project, and, where practical, linking to " +"https://www.commonwl.org/%20),%20provide%20a%20[link%20to%20the%20license][cc-by-" +"human], and indicate if changes were made. You may do so in any " +"reasonable manner, but not in any way that suggests the licensor endorses" +" you or your use." +msgstr "" +"**Atribuição**---Você deve atribuir o devido crédito (mencionando que o " +"seu trabalho deriva de um trabalho que é «Copyright © The Common Workflow" +" Language project», e, quando prático, criar uma ligação para " +"https://www.commonwl.org/%20),%20fornecer%20um%20[link%20para%20a%20licen%C3%A7a][cc-by-" +"human], e indicar se foram feitas alterações. Você pode fazê-lo de " +"qualquer forma razoável, mas não de uma forma que sugira que o " +"licenciante o apoia ou aprova o seu uso." + +#: ../../LICENSE.md:32 f6c3b2ccad494ed6811a35537fc1fb0d +msgid "" +"**No additional restrictions**---You may not apply legal terms or " +"technological measures that legally restrict others from doing anything " +"the license permits. With the understanding that:" +msgstr "" +"**Sem restrições adicionais**---Não pode aplicar termos jurídicos ou " +"medidas de caráter tecnológico que restrinjam legalmente outros de " +"fazerem algo que a licença permita. Com o entendimento de que:" + +#: ../../LICENSE.md:36 91c95248cd7f435c909ee263a9a8bf3f +msgid "" +"You do not have to comply with the license for elements of the material " +"in the public domain or where your use is permitted by an applicable " +"exception or limitation." +msgstr "" +"Não tem de cumprir com os termos da licença relativamente a elementos do " +"material que estejam no domínio público ou cuja utilização seja permitida" +" por uma exceção ou limitação que seja aplicável." + +#: ../../LICENSE.md:39 27f79b0b648b4de4b0eb3172b2dc4ae8 +msgid "" +"No warranties are given. The license may not give you all of the " +"permissions necessary for your intended use. For example, other rights " +"such as publicity, privacy, or moral rights may limit how you use the " +"material." +msgstr "" +"Não são dadas quaisquer garantias. A licença pode não lhe dar todas as " +"autorizações necessárias para o uso pretendido. Por exemplo, outros " +"direitos, tais como direitos de imagem, de privacidade ou direitos " +"morais, podem limitar o uso do material." + +#: ../../LICENSE.md:44 1e367d07720d4f9fb7ebc3149052e823 +msgid "Software" +msgstr "Software" + +#: ../../LICENSE.md:46 cf8b58d02b6943a48cb70aa78a27bea4 +msgid "" +"Except where otherwise noted, the example programs and other software " +"provided by Common Workflow Language project are made available under the" +" [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"Salvo indicação em contrário, os programas de exemplo e outro software " +"fornecido pelo projecto Common Workflow Language são disponibilizados sob" +" a [licença Apache 2.0][apache-2.0-license] aprovada pela [OSI][osi]." + +#: ../../LICENSE.md:51 96f1e5be3e1e48db8d9a4c7693008715 +msgid "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." +msgstr "" +"A menos que exigido pela lei aplicável ou acordado por escrito, o " +"software distribuído sob a Licença é distribuído \"COMO ESTÁ\", SEM " +"GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. " +"Consulte a Licença para obter o texto específico sobre as permissões e " +"limitações sob a Licença." + +#: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 +#: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf +#: ecdd0f28d5b048d69dd1ffae2fa1f6c0 +msgid "" +"CWL is a way to describe command-line tools and connect them together to " +"create workflows. Because CWL is a specification and not a specific piece" +" of software, tools and workflows described using CWL are portable across" +" a variety of platforms that support the CWL standard." +msgstr "" +"CWL é uma maneira de descrever ferramentas de linha de comando e de " +"conectá-las formando workflows. Como a CWL é uma especificação e não um " +"software, ferramentas e workflows descritos com a CWL são portáveis entre" +" uma variedade de plataformas que suportam o padrão CWL." + +#: ../../src/episodes.md:5 ../../src/setup.md:5 +#: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 +msgid "This page has moved" +msgstr "Esta página foi movida" + +#: ../../src/episodes.md:9 f03d7cbe6670451db0896f1b674d56c7 +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. Please use the new [Table of Contents](index.md#table-of-" +"contents) to browse the User Guide." +msgstr "" +"O conteúdo desta página está desatualizado e foi mantido para preservar " +"os links do antigo Guia do Utilizador. Por favor, use o novo " +"[Índice](index.md#table-of-contents) para navegar o Guia do Utilizador." + +#: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc +msgid "FAQ" +msgstr "Perguntas Frequentes (FAQ)" + +#: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 +#, fuzzy +msgid "How do I create non \"`File`\" types using `evalFrom`?" +msgstr "Usando `evalFrom` para Tipos Diferentes de \"`File`\"" + +#: ../../src/faq.md:41 8333f51e3f5945fe8963adfc6685bcb1 +#, fuzzy +msgid "How do I rename an input file?" +msgstr "Renomear um Arquivo de Entrada" + +#: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 +msgid "" +"This example demonstrates how to change the name of an input file as part" +" of a tool description. This could be useful when you are taking files " +"produced from another step in a workflow, and don't want to work with the" +" default names that these files were given when they were created." +msgstr "" +"Este exemplo demonstra como mudar o nome de um arquivo de entrada como " +"parte da descrição da ferramenta. Isso pode ser útil quando você tem " +"arquivos produzidos em outro passo de um workflow, mas prefere não " +"utilizar os nomes dados por padrão quando estes arquivos foram criados." + +#: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 +#, fuzzy +msgid "How do I rename an output file?" +msgstr "Renomear um Arquivo de Saída" + +#: ../../src/faq.md:61 207e2f97d1c44233ae3f109c5a6ec944 +msgid "" +"This example demonstrates how to change the name of an output file from " +"the default name given to it by a tool:" +msgstr "" +"Este exemplo demonstra como escolher o nome para um arquivo de saída " +"diferente do nome padrão criado por uma ferramenta:" + +#: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 +msgid "" +"By modifying the `basename` field in the `outputEval` field, CWL workflow" +" engines will rename the file using the new name for subsequent steps or " +"as a workflow-level output." +msgstr "" + +#: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 +#, fuzzy +msgid "How do I reference a local script?" +msgstr "Como Fazer Referência a um Script Local" + +#: ../../src/faq.md:88 d3e43b40d6994b32bc37067ee116418e +msgid "There are two ways to reference a local script:" +msgstr "Há duas maneiras de fazer uma referência a um script local:" + +#: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd +#, fuzzy +msgid "" +"The first method involves adding the path to a folder containing your " +"scripts to the `PATH` environment variable. This allows you to execute " +"the shell script directly (without explicitly using the `sh` or `bash` " +"commands)." +msgstr "" +"A primeira maneira é adicionando o arquivo que contém os seus scripts " +"para a variável de ambiente `PATH`. Desta maneira você pode executar o " +"shell script diretamente sem utilizar comandos via `sh` ou `bash`." + +#: ../../src/faq.md:93 34ebca4487a54ceab5d087105820e945 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "Comece adicionando a _shebang_ no topo do seu arquivo:" + +#: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a +msgid "" +"After that, make the script executable with the command `chmod +x " +"scriptname.sh`" +msgstr "" +"Em seguida faça o seu script executável com o comando `chmod +x " +"scriptname.sh`" + +#: ../../src/faq.md:101 756ab4f7edcf42d3872bb86818e088c3 +msgid "" +"Finally, modify your `PATH` to add the directory where your script is " +"located. (It is good practice to use `$HOME/bin` for storing your own " +"scripts)." +msgstr "" +"E finalmente, modifique o seu `PATH` para adicionar o diretório que " +"contém o seu script. (É boa prática usar `$HOME/bin` para scripts do " +"utilizador local)." + +#: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" +"Agora você pode utilizar `baseCommand: scriptname.sh` para rodar o script" +" diretamente." + +#: ../../src/faq.md:117 844938d5d2304c6cb03184b4b4b0b024 +msgid "" +"When you wish to share your work later, you can place your script in a " +"software container in the Docker format." +msgstr "" +"Depois quando você quiser compartilhar o seu trabalho, é possível " +"utilizar um container de software com ferramentas como Docker." + +#: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 +msgid "" +"The second method involves including an input of `type: File` in the " +"script itself:" +msgstr "O segundo método utiliza um input `type: File` diretamente no script:" + +#: ../../src/faq.md:138 ba246320fdd94a1aab4736f83718d793 +#, fuzzy +msgid "How can I set `self`-based input bindings for optional inputs?" +msgstr "Definindo Bindings de Inputs utilizando `self` para Inputs Opcionais" + +#: ../../src/faq.md:140 6169b7be9af7448abcb57eaf91e1cc91 +msgid "" +"Currently, `cwltool` can't cope with missing optional inputs if their " +"input binding makes use of `self`. Below is an example workaround for " +"this, pending a more sophisticated fix." +msgstr "" +"No momento `cwltool` não funciona quando inputs opcionais não estão " +"presentes se o binding de input deles utilizar `self`. O exemplo abaixo " +"contém uma solução alternativa para este problema, até que haja uma " +"solução mais elegante para este problema." + +#: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab +#, fuzzy +msgid "How can I model a \"one-or-the-other\" parameter?" +msgstr "Modelar um Parâmetro do tipo \"um-ou-o-outro\"" + +#: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 +msgid "" +"Below is an example showing how to specify different strings to be added " +"to a command line, based on the value given to a Boolean parameter." +msgstr "" +"O exemplo abaixo demonstra como especificar diferentes strings que serão " +"adicionadas à linha de comando, dependendo do valor de um parâmetro " +"Boolean." + +#: ../../src/faq.md:188 5c9980839f404ba6aef92ef23034500f +#, fuzzy +msgid "" +"How do I connect a solo value to an input that expects an array of that " +"type?" +msgstr "Conectar um Único valor a um Input que Espera uma Lista daquele Tipo" + +#: ../../src/faq.md:190 2525baf16c1f4725b096f33fd99009cf +#, fuzzy +msgid "" +"Add a " +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +" along with [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput):" +msgstr "" +"De " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" e " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 +msgid "" +"The input must be an array consisting of exactly one entry for each input" +" link. If \"merge_nested\" is specified with a single link, the value " +"from the link must be wrapped in a single-item list." +msgstr "" + +#: ../../src/faq.md:199 3af16c07e3f148ddb8849c94a3864158 +#, fuzzy +msgid "Which means \"create a list with exactly these sources as elements\"." +msgstr "" +"Que significa \"criar uma lista com exatamente estes sources como " +"elementos\"" + +#: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 +msgid "" +"Or in other words: if the destination is of type `File[]` (an array of " +"`File`s) and the source is a single `File` then add " +"`MultipleInputFeatureRequirement` to the Workflow level `requirements` " +"and add `linkMerge: merge_nested` under the appropriate `in` entry of the" +" destination step." +msgstr "" +"Ou em outras palavras: se o parâmetro destino for do tipo `File[]` (uma " +"lista de `File`s) e a fonte é um único `File`, adicione então " +"`MultipleInputFeatureRequirement` ao `requirements` no nível do Workflow " +"e adicione `linkMerge: merge_nested` sob a entrada apropriada `in` ao " +"step que receberá o parâmetro (target)." + +#: ../../src/faq.md:229 2f1bbb611c9c4f80b7ae0566432f2f35 +msgid "How do make an input optional? 💯" +msgstr "" + +#: ../../src/faq.md:231 08a226efe5d141e68215ac77725033db +msgid "" +"To make an input parameter optional, add a question mark to the type " +"declaration." +msgstr "" +"Para fazer um parâmetro de entrada opcional, adicione um ponto de " +"interrogação à declaração do tipo." + +#: ../../src/faq.md:247 06e70a855a8f455ca0536eead77073c2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 7fda8eeb6a7f4689993ed0118c77f023 +msgid "" +"How do I specify an input that must come from a list of predefined values" +" (i.e. How do I use enum inputs) ?" +msgstr "" + +#: ../../src/faq.md:250 b1934a82553b4da3b7f981e576245dd8 +msgid "" +"For command line flags that require a specific input as the argument an " +"enum type can be declared in CWL. **Specifying null here is known as long" +" form style. It does the same thing as the question mark on the other " +"inputs.**" +msgstr "" +"O tipo enum por ser utilizado em CWL para flags de linha de comando que " +"requerem um tipo de input específico como argumento. **Especificar null " +"aqui é tido como forma estendida. O resultado é o mesmo que o uso do " +"ponto de interrogação nos outros inputs.**" + +#: ../../src/faq.md:267 17fc34fad2094f5ea60e963dabd632b8 +msgid "" +msgstr "" + +#: ../../src/faq.md:268 4d7acfbeba5b4e9cb31f08ef4b280447 +msgid "" +"How do I describe dependent or exclusive input parameters(e.g. How do I " +"use record inputs)?" +msgstr "" + +#: ../../src/faq.md:270 949ce95c082f4a05891a55fee25d4873 +msgid "" +"For commandline flags that are either **mutually exclusive** or " +"**dependent** a special record type can be defined. You can also specify " +"null here to create optional inputs." +msgstr "" + +#: ../../src/faq.md:322 6fd3c469d11d4d52b9fbb7a3d443a8db +#, fuzzy +msgid "How do I set mutually exclusive parameters?" +msgstr "Definindo Parâmetros Mutualmente Exclusivos" + +#: ../../src/faq.md:324 a0687ce5c1f940538abc977cad83138f +msgid "" +"To properly set fields in a record input type, you need to pass a " +"dictionary to the input to properly set the parameters. This is done by " +"using inline JavaScript and returning the dictionary with the key of the " +"field you want to set. The source field is set to indicate the input from" +" the workflow to be used as the value." +msgstr "" + +#: ../../src/faq.md:342 12869ce2cdab4c858f3232c6158514f1 +#, fuzzy +msgid "How can I set Booleans?" +msgstr "Utilizando Booleans" + +#: ../../src/faq.md:344 8dcb88744e5840029de0e1bbf1c4b967 +msgid "These can be set by using the default field" +msgstr "Estes são definidos através do campo padrão" + +#: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 +#, fuzzy +msgid "What should I do when concatenating strings in inputs?" +msgstr "Concatenando Strings em Inputs" + +#: ../../src/faq.md:351 68f74afc21d846dd9070d45dec0cc1d8 +msgid "The valueFrom field must be used instead of default." +msgstr "O campo valueFrom deve ser utilizado ao invés do valor padrão." + +#: ../../src/faq.md:359 53b633c6f8644106beb95ae567eb0708 +#, fuzzy +msgid "" +"I get `cwltool` errors due to filenames with space characters inside. " +"What should I do?" +msgstr "Erros do `cwltool` devido a Nomes de Arquivos com Espaços" + +#: ../../src/faq.md:361 7101bb5cb69e4faca4e60eabb4eb258e +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "O `cwltool` não permite alguns caracteres em nomes de arquivos por padrão." + +#: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 +msgid "" +"For example, the filename `a space is here.txt` includes 3 space " +"characters." +msgstr "Por exemplo, o nome de arquivo `um espaco vai aqui.txt` inclui 3 espaços.." + +#: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 +msgid "" +"If you can not avoid these dangerous characters, then pass `--relax-path-" +"checks` to `cwltool`." +msgstr "" +"Se você não tem opção e precisa utilizar estes caracteres apesar do " +"risco, você deve então passar `--relax-path-verificks` ao chamar o " +"`cwltool`." + +#: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 +#, fuzzy +msgid "" +"What should I do when I get CWL Parameter Reference error due to hyphen " +"in an input identifier?" +msgstr "" +"Erro de Referência em Parâmetro CWL devido a Hífen no Identificador de " +"Entrada" + +#: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 +msgid "If `cwltool --validate` returns valid" +msgstr "Se `cwltool --validate` valida com sucesso" + +#: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 +msgid "But executing it causes an error like:" +msgstr "Mas ao executar o workflow um erro como o seguinte aparece:" + +#: ../../src/faq.md:396 2b96665acac449758b852bbe7600e007 +msgid "The file is here" +msgstr "Este é o arquivo" + +#: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec +msgid "Problem caused by `-` (hyphen character)." +msgstr "O problema é causado pelo `-` (hífen)." + +#: ../../src/faq.md:423 7780f461ca4c478b92fca893c0b0894a +#, fuzzy +msgid "To fix this error, change `-` (hyphen) to `_` (underscore):" +msgstr "Para corrigir este erro, substitua o `-` (hífen) por `_` (sublinhado)" + +#: ../../src/faq.md:436 88df56dfff854fc68fb6ad3835a846e4 +msgid "" +"If it is not possible to change the input identifier, then you can use an" +" alternative CWL Parameter Reference syntax:" +msgstr "" +"Se não for possível mudar o identificador do input, você pode reescrever " +"utilizando uma sintaxe alternativa para Referências de Parâmetros CWL:" + +#: ../../src/faq.md:442 fc407a9e8d8c4b699d9cd14b369343b5 +#, fuzzy +msgid "How do I use CWL and cwltool with Singularity?" +msgstr "Utilizar CWL e cwltool com Singularity" + +#: ../../src/faq.md:445 239f5f81cef042b08fb8015c36b3ecad +msgid "" +"The CWL standards are built around (optional) Docker format containers. " +"The reference runner and several other CWL implementations support " +"running those Docker format containers using the Singularity engine. " +"Directly specifying a Singularity format container is not part of the CWL" +" standards." +msgstr "" + +#: ../../src/faq.md:450 61641314d82b43e982e54c64c73232c5 +msgid "How do I debug the JavaScript in my CWL tool?" +msgstr "" + +#: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b +msgid "" +"You can use the --js-console option of cwltool," +" or you can try creating a JavaScript or TypeScript project for your " +"code, and load it using expressionLib, e.g.: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 1c9fb72b83c9467a9672943fb47ffe32 +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 aaa44578e27345e682ab44686b4da159 +msgid "" +"This guide will introduce you to writing workflows using the [Common " +"Workflow Language](https://www.commonwl.org/) (CWL) open standards. This " +"guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 0adfc2adb0c74372b25d197dd3a73b8b +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 96c8dca812f1415db7c5c006b0c0e022 +msgid "" +"If you find that something is missing from this guide, or if you would " +"like to provide other feedback, file an Issue on the [project repository " +"for this guide][repo]. You can also suggest changes directly in a Pull " +"Request by clicking the \"Edit this page\" button at the right sidebar of" +" each page." +msgstr "" + +#: ../../src/index.md:16 35c50bb5c3a345b4a4ae66b2df065376 +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 +msgid "" +"If you are a beginner user get started with the " +"[Introduction](/introduction/index.md) section. For advanced users the " +"subsections of the [Topics](/topics/index.md) have detailed information " +"about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 +msgid "" +"The Table of Contents is displayed at the top menu and also on the left " +"sidebar. It also appears further down this page but with links to " +"subsections. The right sidebar contains links to the sections of each " +"page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece +msgid "" +"This section describes the basic concepts for users to get started on " +"working with Common Workflow Language (CWL) workflows. Readers are " +"expected to be familiar with workflow managers, YAML, and comfortable " +"with following instructions for the command-line. The other sections of " +"the user guide cover the same concepts, but in more detail. If you are " +"already familiar with CWL or you are looking for more advanced content, " +"you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf +msgid "The CWL Specification" +msgstr "A Especificação CWL" + +#: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 +msgid "" +"The CWL specification is a document written and maintained by the CWL " +"community. The specification has different versions. The version covered " +"in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb +msgid "" +"The specification version can have up to three numbers separated by `.`s " +"(dots). The first number is the major release, used for backward-" +"incompatible changes like the removal of deprecated features. The second " +"number is the minor release, used for new features or smaller changes " +"that are backward-compatible. The last number is used for bug fixes, like" +" typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 +msgid "" +"The model used for the specification version is called Semantic " +"Versioning. See the end of this section to [learn more](#learn-more) " +"about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be +msgid "Implementations" +msgstr "Implementações" + +#: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 +msgid "" +"An implementation of the CWL specification is any software written " +"following what is defined in a version of the specification document. " +"However, implementations may not implement every aspect of the " +"specification. CWL implementations are licensed under both Open Source " +"and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d +msgid "" +"CWL is well suited for describing large-scale workflows in cluster, cloud" +" and high performance computing environments where tasks are scheduled in" +" parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: 1c1647a3496c4251a3193f94ee4e78c8 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 854633336f4d4fc394e62c53ce022c6b +msgid "" +"A process is a computing unit that takes inputs and produces outputs. The" +" behavior of a process can be affected by the inputs, requirements, and " +"hints. There are four types of processes defined in the CWL specification" +" {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 142a847f11d7462f8bf77bfe789410ca +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 7c7567fa690043f9b4b89bdf8ca60cad +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: 7afcf087d3ea49dabf1a641a2bb71b35 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 6399939602334819a20b92b957352a8a +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 8c55b15cebf142899045f229ccc86b1e +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: ec54c0e67e894bfba2d0fbb0f87ffdf4 +msgid "" +"A command-line tool is a wrapper for a command-line utility like `echo`, " +"`ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: c88ad26efa794cbeb6f0690aa0cad5ea +msgid "" +"An expression tool is a wrapper for a JavaScript expression. It can be " +"used to simplify workflows and command-line tools, moving common parts of" +" a workflow execution into reusable JavaScript code that takes inputs and" +" produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: 946825a7ea2c450eb3e41b5548670fb7 +msgid "" +"Operation is an abstract process that also takes inputs, produces " +"outputs, and can be used in a workflow. But it is a special operation not" +" so commonly used. It is discussed in the [Operations " +"section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 44aac23f302c4178accf7e431cfbb96c +msgid "" +"The workflow is a process that contains steps. Steps can be other " +"workflows (nested workflows), command-line tools, or expression tools. " +"The inputs of a workflow can be passed to any of its steps, while the " +"outputs produced by its steps can be used in the final output of the " +"workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 +msgid "" +"The CWL specification allows for implementations to provide extra " +"functionality and specify prerequisites to workflows through " +"*requirements*. There are many requirements defined in the CWL " +"specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: 07c5789c59224ed78a3ecd03cfe872e9 +msgid "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" +" - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 6f9854ae1b884ad39f88d2f39d66cb98 +msgid "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" +" - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 23fef6de073f4da18118e4d0512670fe +msgid "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement)" +" - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: fb3762f91177401ea624d1e716d67ae6 +msgid "" +"Some CWL runners may provide requirements that are not in the " +"specification. For example, GPU requirements are supported in `cwltool` " +"through the `cwltool:CUDARequirement` requirement, but it is not part of " +"the {{ cwl_version }} specification and may not be supported by other CWL" +" runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: b6a5cd431c324078a9a4e1513a14ee28 +msgid "" +"Hints are similar to requirements, but while requirements list features " +"that are required, hints list optional features. Requirements are " +"explained in detail in the [Requirements](../topics/requirements-and-" +"hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: 88d7bad84dd341d2abb33673b8b8f250 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: bcbf5d76cf5f47b2a9691b7d2d8ef891 +msgid "" +"The FAIR principles have laid a foundation for sharing and publishing " +"digital assets, and in particular, data. The FAIR principles emphasize " +"machine accessibility and that all digital assets should be Findable, " +"Accessible, Interoperable, and Reusable. Workflows encode the methods by " +"which the scientific process is conducted and via which data are created." +" It is thus important that workflows both support the creation of FAIR " +"data and themselves adhere to the FAIR principles. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community" +" Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 +msgid "" +"CWL has roots in \"make\" and many similar tools that determine order of " +"execution, based on dependencies between tasks. However, unlike \"make\"," +" CWL tasks are isolated, and you must be explicit about your inputs and " +"outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: c0f53138bf084939a54b0a576b44199f +msgid "" +"The benefit of explicitness and isolation are flexibility, portability, " +"and scalability; tools and workflows described with CWL can transparently" +" leverage technologies such as Docker and be used with CWL " +"implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 91d6eb4984a6410ba99616b6617ba9af +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:183 +#: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 +#: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 +msgid "Learn More" +msgstr "Saiba Mais" + +#: ../../src/introduction/basic-concepts.md:180 +#: 7221a89559944627b4c3db37f468f72c +msgid "Semantic Versioning - " +msgstr "Versionamento Semântico - " + +#: ../../src/introduction/basic-concepts.md:181 +#: bccf086fc9514f76b60dc161e3a09da3 +msgid "" +"The CWL Specification page in the CWL website: " +"" +msgstr "" +"A página web da Especificação CWL: " +"" + +#: ../../src/introduction/basic-concepts.md:182 +#: a5b37924c7d04ab984ff2542847afc4a +msgid "" +"The Command Line Tool Description Standard: " +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 44af015fa36644b99f07338d241d29c1 +msgid "" +"The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"A especificação CWL atual no GitHub: {{ ''.format(cwl_version_text) }}" + +#: ../../src/introduction/basic-concepts.md:184 +#: bffca993172048a4b7ab7c62637662e2 +msgid "" +"The list of Implementations in the CWL website: " +"" +msgstr "" +"A lista de Implementações na página web da CWL: " +"" + +#: ../../src/introduction/basic-concepts.md:185 +#: 84c61946406347c8b138772909110d54 +msgid "PROV-O: The PROV Ontology - " +msgstr "PROV-O: A Ontologia PROV - " + +#: ../../src/introduction/basic-concepts.md:186 +#: eb0b6a62e06143eabc7b92acff9643ea +msgid "" +"CWL Operations are covered in the [Operations](../topics/operations.md) " +"section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 +msgid "Introduction" +msgstr "Introdução" + +#: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df +msgid "" +"This section will guide you through a short introduction to CWL, the " +"prerequisites for following this user guide, and some basic concepts that" +" are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e +msgid "Prerequisites" +msgstr "Pré-requisitos" + +#: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 +msgid "" +"The software and configurations listed in this section are prerequisites " +"for following this user guide. The CWL standards are implemented by many " +"different workflow runners and platforms. This list of requirements " +"focuses on the CWL reference runner, `cwltool`. You can use another CWL-" +"compatible runner or workflow system, but the results and interface may " +"look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 +msgid "CWL Implementations" +msgstr "Implementações da CWL" + +#: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 +msgid "" +"There are many implementations of the CWL standards. Some are complete " +"CWL runners, while others could be plug-ins or extensions to workflow " +"engines. We have a better explanation in the [Implementations](basic-" +"concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 209a0018e7da48f09b27dc507ba14d24 +msgid "" +"We recommend using an up-to-date operating system. You can choose any of " +"the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 +msgid "Linux" +msgstr "Linux" + +#: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b +msgid "macOS" +msgstr "macOS" + +#: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 +msgid "Windows" +msgstr "Windows" + +#: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c +msgid "" +"If you are using Windows, you will have to install the Windows Subsystem " +"for Linux 2 as documented in the [`cwltool` documentation for Microsoft " +"Windows users](https://github.com/common-workflow-" +"language/cwltool/blob/main/README.rst#ms-windows-users). Your operating " +"system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 +msgid "" +"The first thing you will need for running CWL workflows is a CWL runner. " +"`cwltool` is a Python Open Source project maintained by the CWL " +"community. It is also the CWL reference runner, which means it must " +"support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:44 068f09d4d66547448693f7b9dadef497 +msgid "" +"`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend " +"using a virtual environment like `venv` or `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 +#, fuzzy +msgid "" +"Visit the `cwltool` " +"[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " +"details on installing `cwltool`." +msgstr "" +"Visite a [documentação](https://github.com/common-workflow-" +"language/cwltool#install) do `cwltool` para outras opções para instalar " +"`cwltool` com `apt` e `conda`." + +#: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" +"Vamos usar uma simples descrição de ferramenta CWL `true.cwl` com " +"`cwltool`." + +#: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a +msgid "`true.cwl`" +msgstr "`true.cwl`" + +#: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 +msgid "" +"The `cwltool` command has an option to validate CWL tool and workflow " +"descriptions. This option will parse the CWL document, look for syntax " +"errors, and verify that the workflow descriptions are compliant with the " +"CWL standards. However, these actions will be performed without running " +"the document. To validate CWL workflows (or even a standalone command " +"line tool description like the above) pass the `--validate` option to the" +" `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac +msgid "Generic ``cwl-runner`` alias" +msgstr "" + +#: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 +msgid "" +"`cwl-runner` is an implementation-agnostic alias for any CWL compliant " +"runner. This simply means that the `cwl-runner` alias command can be " +"invoked independently, and is not reliant on a particular CWL runner " +"program name. Users can invoke `cwl-runner` instead of invoking a CWL " +"runner like `cwltool` directly. The `cwl-runner` is installed by a system" +" administrator or user to point to the preferred CWL implementation. This" +" is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:88 6dd6aa836099469381fb564d63b84f3d +msgid "" +"The CWL community publishes a Python package with the name `cwlref-" +"runner` that installs an alias for `cwltool` under the name `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 +msgid "" +"Now you can validate and run your workflow with the `cwl-runner` " +"executable, which will invoke `cwltool`. You should have the same results" +" and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "Executando `true.cwl` com `cwl-runner`." + +#: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c +msgid "" +"Another way to execute `cwl-runner` is by invoking the file directly. For" +" that, the first thing you need to do is copy `true.cwl` workflow into a " +"new file: `true_shebang.cwl`, and include a special first line, a " +"*shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:122 4f3cb8d1f9ce4e3d852e81aa4e0f60be +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa +msgid "" +"And finally, you can execute it directly in the command-line. On " +"execution, the program specified in the shebang (`cwl-runner`) will be " +"used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 +msgid "" +"The *shebang* is the two-character sequence `#!` at the beginning of a " +"script. When the script is executable, the operating system will execute " +"the script using the executable specified after the shebang. It is " +"considered a good practice to use `/usr/bin/env [executable]` rather than" +" using a hard-coded location, since `/usr/bin/env [executable]` looks for" +" the `[executable]` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 +msgid "Text Editor" +msgstr "Editor de Texto" + +#: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f +msgid "" +"You can use any text editor with CWL, but for syntax highlighting we " +"recommend an editor with YAML support. Popular editors are Visual Studio " +"Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 +msgid "" +"There are extensions for Visual Studio Code and WebStorm that provide " +"integration with CWL, and features such as customized syntax highlighting" +" and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b +msgid "" +"Visual Studio Code with the Benten (CWL) plugin - " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca +msgid "" +"cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 +msgid "" +"The CWL community also maintains a list of editors and viewers: " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 +msgid "Docker" +msgstr "Docker" + +#: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe +msgid "" +"`cwltool` uses Docker to run tools, workflows, and workflow steps that " +"specify a software container. Follow the instructions in the Docker " +"documentation to install it for your operating system: " +"." +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 +msgid "" +"You do not need to know how to write and build Docker containers. In the " +"rest of the user guide, we will use existing Docker images for running " +"examples, and to clarify the differences between the execution models " +"with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc +msgid "" +"`cwltool` supports running containers with Docker, Podman, udocker, and " +"Singularity. You can also use alternative container registries for " +"pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 +msgid "" +"The [Implementations](basic-concepts.md#implementations) topic in the " +"next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 +msgid "" +"This section will show you a brief overview of what CWL is, and where you" +" can learn more about it. No previous knowledge of CWL is required, but " +"you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b +msgid "" +"CWL documents are written in [YAML](../topics/index.md) (and/or JSON). " +"The example below shows a simple CWL “Hello World” workflow annotated " +"with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e +msgid "" +"The example above is just a wrapper for the `echo` command-line tool. " +"Running the workflow above with the default input values will produce the" +" same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 +msgid "" +"In CWL, there is a distinction between a command-line tool and a " +"workflow. But for the sake of simplicity, we are using the term " +"“workflow” here. You will learn more about this in the [basic concepts" +"](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 +msgid "" +"`cwltool` is an implementation of the CWL specification. It is also the " +"CWL *Reference Runner* for the specification, and it is compliant with " +"the latest version of the specification: {{ cwl_version }}. You can " +"install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 +msgid "Installing `cwltool` with `pip`." +msgstr "Instalando `cwltool` com `pip`." + +#: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e +msgid "" +"If installing the cwltool using the pip command doesn't work for you, the" +" [prerequisites](prerequisites.md) section contains other ways to install" +" `cwltool` and a more detailed list of software and libraries used for " +"following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 +msgid "Running \"Hello World\"" +msgstr "Executando \"Hello World\"" + +#: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd +msgid "" +"The usage of the `cwltool` command-line executable is basically `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " +"`hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "Executando `hello_world.cwl` com `cwltool`." + +#: ../../src/introduction/quick-start.md:62 4306d8ad802f45c18487d932d04492fa +msgid "" +"Or you can override the default value of the input parameter `message`, " +"similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 +msgid "" +"Another way of passing values to your workflow input parameters is via an" +" *Inputs Object*. This is a file containing the input fields with their " +"corresponding values. The Inputs Objects file can be written in JSON or " +"YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 +msgid "`hello_world-job.json`" +msgstr "`hello_world-job.json`" + +#: ../../src/introduction/quick-start.md:80 c5983ba6c86f4b749522c11cb3843911 +msgid "" +"You can use this Inputs Object file now to execute the “Hello World” " +"workflow:" +msgstr "" +"Pode utilizar este arquivo de Objetos de Inputs agora para executar o " +"workflow “Hello World”:" + +#: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "Passando um arquivo de Objeto de Inputs para o `cwltool`." + +#: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 +msgid "" +"We used a similar file name for the workflow and for the Inputs Object " +"files. The *-job.json* suffix is very common in Inputs Object files, but " +"it is not a requirement. You can choose any name for your workflows and " +"Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e +msgid "Continue reading the next sections of this User Guide!" +msgstr "Continue lendo as secções seguintes deste Guia do Utilizador!" + +#: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" +"[Lista das Implementações da " +"CWL](https://www.commonwl.org/implementations)." + +#: ../../src/introduction/quick-start.md:98 1c888f1b771d49b3a257ed534b5afa0a +msgid "" +"The [`common-workflow-language` organization](https://github.com/common-" +"workflow-language) at GitHub." +msgstr "" +"A [organização`common-workflow-language`](https://github.com/common-" +"workflow-language) no GitHub." + +#: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 +msgid "" +"[Common Workflow Language at " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[Common Workflow Language na " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." + +#: ../../src/introduction/quick-start.md:100 dc714ffd4278421b9f2417f41627722c +msgid "" +"[YAML.org](http://yaml.org/) and [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) e [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." + +#: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa +msgid "" +"The {{'[CWL Specification " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." +msgstr "" +"A {{'[Especificação CWL " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." + +#: ../../src/introduction/quick-start.md:102 936a7dfab11a4f2c82c0b59964e3ea28 +msgid "" +"[Workflow management system at " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" +"[Workflow management system na " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." + +#: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. The information on this page has been migrated to the " +"[FAQ](/faq.md) section of the new user guide." +msgstr "" +"O conteúdo desta página está desatualizado mas foi mantido aqui para " +"preservar os links do antigo Guia do Utilizador. A informação desta " +"página foi migrada para a secção [FAQ](/faq.md) do novo guia do " +"utilizador." + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 3843684b039a40dea163de951ca56738 +msgid "Additional Arguments and Parameters" +msgstr "Argumentos e Parâmetros Adicionais" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: a6fd1842b938435aa2a3c889019eec71 +msgid "" +"Sometimes tools require additional command line options that don't " +"correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: dfed0747ed544547afd364086d828c9b +msgid "" +"In this example, we will wrap the Java compiler to compile a java source " +"file to a class file. By default, \"javac\" will create the class files " +"in the same directory as the source file. However, CWL input files (and " +"the directories in which they appear) may be read-only, so we need to " +"instruct \"javac\" to write the class file to the designated output " +"directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: e690b567eae34f3f8dbdd7760e51449a +msgid "`arguments.cwl`" +msgstr "`arguments.cwl`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 4cee519b108143be89a0e47a75d7d649 +#: 79585673fd654bab9ba7c1927d7e153b +msgid "`arguments-job.yml`" +msgstr "`arguments-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: ef070ebe5f7245489b05660fb6d7c178 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" +"Em seguida, crie um arquivo Java de exemplo para usar com a ferramenta de" +" linha de comando." + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 4ae43e3e841442039e4bb8c740096c56 +msgid "" +"And now invoke `cwltool` providing the tool description and the input " +"object on the command line:" +msgstr "" +"E agora execute `cwltool` utilizando a descrição de ferramenta e o objeto" +" de input na linha de comando:" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 8497291577914eb3a172c1ffb736d95d +msgid "" +"Here we use the `arguments` field to add an additional argument to the " +"command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: dc9fa5f2cbb147b1853c4042c54010f3 +msgid "" +"This example references a runtime parameter. Runtime parameters provide " +"information about the hardware or software environment when the tool is " +"actually executed. The `$(runtime.outdir)` parameter is the path to the " +"designated output directory. Other parameters include " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " +"Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe +msgid "Best Practices" +msgstr "Melhores Práticas" + +#: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +msgid "" +"The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 2292670347cd4549bc6a51e972de0ef4 +msgid "" +"No `type: string` parameters for names of input or reference " +"files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +msgid "" +"A CWL document (in conjunction with any external components like " +"`Dockerfile`s) is software code. Workflow developers should be aware that" +" the usual rules of software licensing apply to this document. For " +"example, if the workflow is shared publicly, licensing terms must be " +"clear so that a future user understands under what conditions they can " +"run the workflow, modify it and/or combine it with other workflows. For " +"this reason, please consider including a license field in the document. " +"The authors of this guide urge you to choose a pre-existing license " +"rather than trying to write your own (see the link below to learn more " +"about choosing a license), and our recommended practice is to choose a " +"license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" +"license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +msgid "" +"If possible, the license should be specified with its corresponding [SPDX" +" identifier][spdx]. Construct the metadata field for the license by " +"providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where " +"`SPDX-ID` is taken from the list of identifiers linked above. See the " +"example snippet below for guidance. For non-standard licenses without an " +"SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b +msgid "" +"Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" +"Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 5b976a5aec7d44bda55b0a019e955416 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 +msgid "" +"For more examples of providing metadata within CWL descriptions, see [the" +" Metadata and Authorship section of this User Guide](../topics/metadata-" +"and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be +msgid "" +"Include [attribution information][license-example] for the author(s) of " +"the CWL tool or workflow description. Use unambiguous identifiers like " +"[ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 87030aef02044b8283c76debab4772bf +msgid "" +"In tool descriptions, list dependencies using short name(s) under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:47 6c9eaae099fa4ca4b0986b1c4146df50 +msgid "" +"Include [SciCrunch][scicrunch] identifiers for dependencies in " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc +msgid "" +"All `input` and `output` identifiers should reflect their conceptual " +"identity. Use informative names like `unaligned_sequences`, " +"`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " +"`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a +msgid "" +"In tool descriptions, include a list of version(s) of the tool that are " +"known to work with this description under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 +msgid "" +"`format` should be specified for all input and output `File`s. " +"Bioinformatics tools should use format identifiers from [EDAM][edam-" +"example]. 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][iana-types] (also known as MIME " +"types). For non-bioinformatics tools, use or build an appropriate " +"ontology/controlled vocabulary in the same way. Please edit this page to " +"let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 +msgid "" +"Mark all input and output `File`s that are read from or written to in a " +"streaming compatible way (only once, no random-access), as `streamable: " +"true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 +msgid "" +"Each " +"[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool)" +" description should focus on a single operation only, even if the " +"(sub)command is capable of more. Don't overcomplicate your tool " +"descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d +msgid "" +"Custom types should be defined with one external YAML per type definition" +" for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 +msgid "" +"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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 d92013d662b44dbf8875e06c9dfbfd79 +msgid "" +"Use `type: enum` instead of `type: string` for elements with a fixed list" +" of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf +msgid "" +"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][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 e22fbacdb2fb4202b1bd69cfc24af5cd +msgid "" +"Give the tool description to a colleague (preferably at a different " +"institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 +msgid "" +"Complex workflows with individual components which can be abstracted " +"should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" +" their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab +msgid "" +"Software containers should be made to be conformant to the " +"[\"Recommendations for the packaging and containerizing of bioinformatics" +" software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e +msgid "" +"A command-line tool is a type of Process object that can be run by itself" +" or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, " +"`tar`, etc. The command-line tool is defined in the `baseCommand` " +"attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 +msgid "" +"A CWL command-line tool must also have `inputs` and `outputs`. The " +"following example contains a minimal example of a CWL command-line tool " +"for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f +msgid "" +"The example above uses a simplified form to define inputs and outputs. " +"You will learn more about in the [Inputs](../topics/inputs.md) and in the" +" [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 +msgid "" +"This indicates whether a process requires outgoing IPv4/IPv6 network " +"access. Starting with CWL v1.1, programs are not granted network access " +"by default, so you must include the requirement for network access in the" +" specification of your tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:84 3282a357799f4a72a6b8bace206144c4 +msgid "" +"CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 or v1.2 " +"will have `networkAccess: true` set automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: 17c5b4ee43cc4a979676ad27e473d046 +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: cd0dff10471c4ad2b84e3a0e4d7767ea +msgid "" +"Sometimes you need to create a file on the fly from input parameters, " +"such as tools that expect to read their input configuration from a file " +"rather than the command line parameters, or need a small wrapper shell " +"script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: bf4aea0a22334a1ca75cc20e937e6581 +msgid "" +"To generate such files, we can use the " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: 008f768d56b8465bb4e8f4fde15853a7 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: 252f8e897b0942a8be098481890005f3 +msgid "" +"Any [expressions](../topics/expressions.md) like `$(inputs.message)` are " +"expanded by the CWL engine before creating the file. Here, insert the " +"value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: aca24b72687c4d4d84bf9de8b71413f7 +msgid "" +"The _CWL expressions_ are independent of any _shell variables_ used later" +" during command line tool invocation. That means that any genuine need " +"for the character `$` must be **escaped** with `\\`. For instance, " +"`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " +"be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 750b3232e8754448bc2b5913539495b8 +msgid "" +"To test the above CWL tool, use this job to provide the input value " +"`message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 ../../src/topics/outputs.md:81 +#: 687c8a84bade43269f3cd767d32f9f47 81da7a18fe8d4659abc883cf43009f1f +#: d5d67eae63304ebb9b242133feacb0d1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: c4f964450d014734877fb3c968353a74 +msgid "" +"Before we run this, let us look at each step in a little more detail. The" +" base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " +"command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 9aeea5a6a4244bc7a1626e0cb7351068 +msgid "" +"`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a " +"YAML array, we need a `-` on the first line of each element of the array," +" in this case we have just one element. `entryname:` can have any value, " +"but it must match what was specified in the `baseCommand`. The final part" +" is `entry:`, this is followed by `|-` which is YAML quoting syntax, and " +"means that you are using a multiline string (without it, we would need to" +" write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 867239e9ad3d4187a2703662a0ca3976 +msgid "" +"See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " +"formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 ../../src/topics/workflows.md:198 +#: 0d7151b9f0194197bd686fe6c9c47afd 78bb40eeeda24d7b923162daa45d51a7 +#: 7b341a317347482ca86fc56119c3686f 7c637fa62cab4d0dbe670a3b72737cc9 +#: cfb4605a01dd4475aabcc086a4e65957 +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 +msgid "" +"Sometimes you may want to write your own custom types for use and reuse " +"in CWL descriptions. Use of such custom types can reduce redundancy " +"between multiple descriptions that all use the same type, and also allow " +"for additional customisation/configuration of a tool/analysis without the" +" need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 8367e38e5e7c4a298d1d87b9001aaddc +msgid "" +"The example below is a CWL description of the [biom convert format][biom]" +" tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 +msgid "" +"___Note:___ To follow the example below, you need to [download the " +"example input file](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " +"`wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 a48539920c4944898918bc90b2d4e3c9 +msgid "" +"On line 29, in `inputs:table_type`, a list of allowable table options to " +"be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 +msgid "" +"The reference to a custom type is a combination of the name of the file " +"in which the object is defined (`biom-convert-table.yaml`) and the name " +"of the object within that file (`table_type`) that defines the custom " +"type. In this case the `symbols` array from the imported `biom-convert-" +"table.yaml` file define the allowable table options. For example, in " +"`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" +" to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd +msgid "" +"In order for the custom type to be used in the CWL description, it must " +"be imported. Imports are described in " +"`requirements:SchemaDefRequirement`, as below in the example `custom-" +"types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 +msgid "" +"Note also that the author of this CWL description has also included " +"[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s," +" specifying the minimum amount of RAM and number of cores required for " +"the tool to run successfully, as well as details of the version of the " +"software that the description was written for and other useful metadata. " +"These features are discussed further in other chapters of this user " +"guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d +msgid "" +"Tools run in a restricted environment and do not inherit most environment" +" variables from the parent process. You can set environment variables " +"for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +msgid "" +"An expression tool is a type of Process that can be run by itself or as a" +" Workflow step. It executes a pure JavaScript expression. It is meant to " +"be used as a way to isolate complex JavaScript expressions that need to " +"operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +msgid "" +"Similar to the command-line tool it requires `inputs` and `outputs`. But " +"instead of `baseCommand`, it requires an " +"[`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional))" +" attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +msgid "" +"We had to use an " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" as our expression contains a JavaScript call in `.toUpperCase()`. This " +"means to tools using the expression tool that JavaScript is a " +"requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec +msgid "" +"If you need to manipulate input parameters, include the requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" and then anywhere a parameter reference is legal you can provide a " +"fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +msgid "" +"JavaScript expressions should only be used when absolutely necessary. " +"When manipulating file names, extensions, paths etc, consider whether one" +" of the [built in `File` properties][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc, could be used instead. See the [list of best " +"practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 72a0558a83964796a8c1a0eb55fd78e8 +msgid "" +"As this tool does not require any `inputs` we can run it with an (almost)" +" empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +msgid "" +"`empty.yml` contains a description of an empty JSON object. JSON objects " +"descriptions are contained inside curly brackets `{}`, so an empty object" +" is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 f6f64d57a50742b19b801c14806ee18a +msgid "" +"Note that requirements can be provided with the map syntax, as in the " +"example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 +msgid "" +"Or as an array, with each entry (in this case, only `class: " +"InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" +" describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 8c3b402c40f64880a4bd42c47b910254 +msgid "" +"Just like [parameter references](parameter-references.md), you can use " +"JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc +msgid "" +"From " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 7ab0dbd54c1441539673fa12ef96b89e +#: e76c6ece0c594fefa86b190879c5acaa +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 0209558b1013471eb708698537edaf06 +#: 4458393fdb0e451f9806e91122ea2534 594a163e08f04aa5a04a44a303a1c643 +#: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 +#: af2cdb5f66ac4fd5b8f91258f005cc62 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e +#: f9a6718845e24f46b76fcc8ab26eec7a +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 +#: 7f5ce097ca0442a6a200599342a6e24b +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 +#: 7b14686e16eb4f488659b22d67ec3bfa +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 +msgid "" +"From " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 24f27702d0684bc98e3232103510232e +#: 26a8dff7b80c4e059f1e20eef9da6203 476aa37af5214bcf963c7aab1f859273 +#: 4b0a0cd934bd41b4b55c034b91392bc7 5182e2165e44429287b4d924c2f896a4 +#: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 +#: b301751f90af4700bbada5e5b166be35 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 2c2b8db396b04ace8aa396c0a5a4858f +#: 33a9b77ce15b4910962a7f08bd2f47a3 57cba0191de3470bbe112ed2a0d3f252 +#: 6efe998094b3469eae61cfff551b1eb1 776de1ecfafc41ada7e916addd7229fd +#: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 +#: faa7d521fec240748407d03ffdb93aa0 +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a +msgid "" +"From " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 0e2052e16f6a41b8983dc64b4b3a7586 +msgid "" +"From " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 dff31dd961d540e3b8cd1247e978d60e +msgid "" +"From " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 249aba7c38ce49379b9d35e7ad81a0bf +#: 5a354eb4883948e0a2b5c96b5ae12da7 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df +#: 9e477e2cfab24861b517fe2fb52962f4 +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 9448462d104b4be5904623c85a9e16b7 +#: bf11a7a72147445c9b8e44b541e09f36 +#, fuzzy +msgid "From [`Workflow`](https://w3id.org/cwl/Workflow.html)" +msgstr "" +"De " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 7918d0661be746faaddf25ad49172f30 +#: b8439dbaa949427097e25ccb48fe15ee +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 +msgid "" +"From " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 +#: ab1ba7626eae483a8b614ee4cd5bab6f +msgid "" +"From " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 595b9ddcee734d6595c1b4b2d169dcb8 +#: 80b55c77a4384644acfc9472c3cedee0 +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 32b1a39cca1a4402af9bdc0abc4d70c8 +msgid "" +"From " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 2518d499801e4bcf82e9e4666280504d +#: 98a511d138e9497c923963c2ca5f0a0b +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b +#: e84bc5505a6549ae9aacde8cb9225403 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 +#: e698ea756fe94e99837312fb30c9f9bf +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 +#: bef90c153d4f4397b1f69f9beb38f7e6 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd +#: e2bdf4fe676346cbb4443ee54fb7419b +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 +#: 8f1665baca2e4e3b96026b50d132709a +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 +#: d169949866a24e31947dffcb94620c5f +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc +msgid "" +"From " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 21e9582891cf4b87a7ee4693663040fa 51bc6d1ccef14729a0d5e63b56d73d20 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: 29c2424fc7dc43e68c9bfee179167bb3 30f25141bcce4670882e4a5bbe4fc3e2 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f +msgid "" +"From " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 242a12ec757947db894195c9aefba818 7b26b9972f7141bf950b3bb024b0e369 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +msgid "" +"The requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" supports an `expressionLib` attribute that allows users to load external" +" JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +msgid "" +"Entries added to the `expressionLib` attribute are parsed with the " +"JavaScript engine of a CWL runner. This can be used to include external " +"files or to create JavaScript functions that can be called in other parts" +" of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 +msgid "" +"The CWL standards (versions 1.0 through 1.2) " +"[states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)" +" that the only version of JavaScript valid in CWL expressions is " +"[ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means " +"that any code that you include or write in your CWL Document must be " +"compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe +msgid "" +"For example, we can use `InlineJavascriptRequirement` and write a " +"JavaScript function inline in `expressionLib`. That function can then be " +"used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 +msgid "" +"Running this CWL workflow will invoke the JavaScript function and result " +"in the `echo` command printing the input message with capital initial " +"letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 1a4dfef06b5c4402bdb7e7dbd79eeb5d +msgid "" +"Let's move the `capitalizeWords` function to an external file, `custom-" +"functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +msgid "" +"The `custom-functions.js` file is included in the CWL document with the " +"`$include: custom-functions.js` statement. That makes the functions and " +"variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +msgid "" +"Finally, note that you can have both inline and external JavaScript code " +"in your CWL document. In this final example we have added another entry " +"to the `expressionLib` attribute with the new function " +"`createHelloWorldMessage`, that calls the `capitalizeWords` function from" +" the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 +msgid "" +"The `$include` statement can be used to include a file from the local " +"disk or from a remote location. It works with both relative and absolute " +"paths. Read the [text about " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " +"the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +msgid "" +"Tools and workflows can take " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " +"and produce them as output. We also recommend indicating the format for " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This " +"helps document for others how to use your tool while allowing you to do " +"some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 +msgid "" +"For file formats, we recommend referencing existing ontologies (like EDAM" +" in our example), reference a local ontology for your institution, or do " +"not add a file format initially for quick development before sharing your" +" tool with others. You can browse existing [IANA file format " +"listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 +msgid "" +"In the next tutorial, we explain the `$namespaces` and `$schemas` " +"section of the document in greater detail, so don't worry about these for" +" now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 c04841dbf4be4cf8a22cceca8b08bd14 +msgid "" +"Note that for added value `cwltool` can do some basic reasoning based on " +"file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: 20e97d58596a4a959ad76ec6128ac414 4e070ae9110d437bbf008b0c60a00cd5 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 +msgid "" +"Below is an example of a parameter file for the example above. We " +"encourage checking in working examples of parameter files for your tool. " +"This allows others to quickly work with your tool, starting from a " +"\"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 +msgid "`sample.yml`" +msgstr "`sample.yml`" + +#: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 +msgid "" +"___Note:___ To follow the example below, you need to download the example" +" input file, *file-formats.bam*. The file is available from " +" and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 +msgid "" +"The `inputs` of a tool is a list of input parameters that control how to " +"run the tool. Each parameter has an `id` for the name of parameter, and " +"`type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb +msgid "" +"Available primitive types are *string*, *boolean*, *int*, *long*, " +"*float*, *double*, and *null*; complex types are *array* and *record*; in" +" addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 fbdf2c1bed3e41d7a41ec6b14d134a98 +msgid "" +"The following example demonstrates some input parameters with different " +"types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 9cc4a60d01f945aa9b4c43afcf20098b +msgid "" +"You can use `cwltool` to create a template input object. That saves you " +"from having to type all the input parameters in an input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 +msgid "" +"You can redirect the output to a file, i.e. `cwltool --make-template " +"inp.cwl > inp-job.yml`, and then modify the default values with your " +"desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 6a3edb0d259d4d7c900dd9811f978d4e +msgid "" +"Notice that \"example_file\", as a `File` type, must be provided as an " +"object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 f1d76be7ba0b48f4b605581d0a9a5c72 +msgid "" +"Next, create a whale.txt using [touch] by typing `touch whale.txt` on the" +" command line." +msgstr "" +"Em sequência, cria um arquivo chamado whale.txt utilizando [touch] " +"digitando `touch whale.txt` na linha de comando." + +#: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line, using the command `cwltool inp.cwl inp-job.yml`. The " +"following boxed text describes these two commands and the expected output" +" from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 +msgid "" +"The CWL reference runner (cwltool) and other runners create temporary " +"directories with symbolic (\"soft\") links to your input files to ensure " +"that the tools aren't accidentally accessing files that were not " +"explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 +msgid "" +"The field " +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)" +" is optional and indicates whether and how the input parameter should " +"appear on the tool's command line. If `inputBinding` is missing, the " +"parameter does not appear on the command line. Let's look at each " +"example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 +msgid "" +"Boolean types are treated as a flag. If the input parameter " +"\"example_flag\" is \"true\", then `prefix` will be added to the command " +"line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d +msgid "" +"String types appear on the command line as literal values. The `prefix` " +"is optional, if provided, it appears as a separate argument on the " +"command line before the parameter . In the example above, this is " +"rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 +msgid "" +"Integer (and floating point) types appear on the command line with " +"decimal text representation. When the option `separate` is false (the " +"default value is true), the prefix and value are combined into a single " +"argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 +msgid "" +"File types appear on the command line as the path to the file. When the " +"parameter type ends with a question mark `?` it indicates that the " +"parameter is optional. In the example above, this is rendered as " +"`--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" " +"parameter were not provided in the input, nothing would appear on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 9294c07c672b414f9c3895ed70b9b4ee +msgid "" +"Input files are read-only. If you wish to update an input file, you must" +" [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f +msgid "" +"The value of `position` is used to determine where parameter should " +"appear on the command line. Positions are relative to one another, not " +"absolute. As a result, positions do not have to be sequential, three " +"parameters with positions 1, 3, 5 will result in the same command line as" +" 1, 2, 3. More than one parameter can have the same position (ties are " +"broken using the parameter name), and the position field itself is " +"optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 +msgid "" +"The `baseCommand` field will always appear in the final command line " +"before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 +msgid "" +"It is easy to add arrays of input parameters represented to the command " +"line. There are two ways to specify an array parameter. First is to " +"provide `type` field with `type: array` and `items` defining the valid " +"data types that may appear in the array. Alternatively, brackets `[]` may" +" be added after the type name to indicate that input parameter is array " +"of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 +#: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 +#: 390384208d7b4771888f164b587c7b9a edb3ae59c48945f29c3086b16a5265d3 +msgid "" +"Now invoke `cwltool` providing the tool description and the input object " +"on the command line:" +msgstr "" +"Agora chame o `cwltool` passando a descrição da ferramenta e o objeto de " +"entrada na linha de comando:" + +#: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 +msgid "" +"The `inputBinding` can appear either on the outer array parameter " +"definition or the inner array element definition, and these produce " +"different behavior when constructing the command line, as shown above. In" +" addition, the `itemSeparator` field, if provided, specifies that array " +"values should be concatenated into a single argument separated by the " +"item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df +msgid "" +"Note that the arrays of inputs are specified inside square brackets `[]` " +"in `array-inputs-job.yml`. Arrays can also be expressed over multiple " +"lines, where array values that are not defined with an associated key are" +" marked by a leading `-`. This will be demonstrated in the next lesson " +"and is discussed in more detail in the [YAML Guide](yaml-" +"guide.md#arrays). You can specify arrays of arrays, arrays of records, " +"and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 +msgid "" +"Sometimes an underlying tool has several arguments that must be provided " +"together (they are dependent) or several arguments that cannot be " +"provided together (they are exclusive). You can use records and type " +"unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 ecfb1d911a84400ba3db12fd0adf9279 +msgid "" +"In the first example, you can't provide `itemA` without also providing " +"`itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba +msgid "" +"In the second example, `itemC` and `itemD` are exclusive, so only the " +"first matching item (`itemC`) is added to the command line and remaining " +"item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 e6d81d6549984689bae4533c6d01bd5b +msgid "" +"In the third example, only `itemD` is provided, so it appears on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b +msgid "" +"If you use exclusive input parameters and reference them in expressions, " +"you need to be aware that the `inputs` JavaScript object will contain one" +" of the possible, mutually-exclusive input values. Because the types of " +"these exclusive values may differ, you may need to check which type is in" +" use when you reference the properties of the `input` object." +msgstr "" + +#: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 +msgid "" +"Let's use an example that contains an exclusive `file_format` input " +"parameter that accepts `null` (i.e. no value provided), or any value from" +" an enum." +msgstr "" + +#: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`exclusive-parameter-expressions.cwl`" + +#: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +msgid "" +"Note how the JavaScript expression uses the value of the exclusive input " +"parameter without taking into consideration a `null` value. If you " +"provide a valid value, such as `fasta` (one of the possible values of the" +" enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +msgid "" +"However, if you do not provide any input value, then `file_format` will " +"be evaluated to `null`, which does not match the expected type for the " +"output field (a `string`), resulting in failure when running your " +"workflow." +msgstr "" + +#: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 +msgid "" +"To correct it, you should explicitly handle the possibility of a `null` " +"value. For example, the expression could be changed to " +"`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " +"none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 +msgid "" +"Here, the boolean “or” operator `||` in JavaScript is used for its " +"_short-circuiting_ property. If `inputs.file_format` is “true” in a " +"boolean context (e.g. a valid non-empty string from the enum), the " +"evaluation of the expression stops at the first operand of `||`; it " +"“short-circuits”. If however `inputs.file_format` is `null`, the whole " +"expression’s value becomes that of the second operand, which is why a " +"reasonable default can be provided there." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: 723c2232310c4276aeac2bd6728d2912 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: 4d81aac1830045229e5c60c7959074d8 +msgid "" +"Implementation extensions not required for correct execution (for " +"example, fields related to GUI presentation) and metadata about the tool " +"or workflow itself (for example, authorship for use in citations) may be " +"provided as additional fields on any object. Such extensions fields (e.g." +" `format: edam:format_2572`) can use a namespace prefix listed in the " +"`$namespaces` section of the document (e.g. edam: " +"http://edamontology.org/)%20as%20described%20in%20the%20[Schema%20Salad%20specification" +"][schema-salad]. Once you add the namespace prefix, you can access it " +"anywhere in the document as shown below. Otherwise, one must use full " +"URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 368f8993ae9d401488081d74ae5acd49 +msgid "" +"For all developers, we recommend the following minimal metadata for your " +"tool and workflows. This example includes metadata allowing others to " +"cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: c80f2b180ca74afb8a1fc18f8686304b +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: 37b07ea9b7124842b8ba3040f70308e9 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: 1cd5989ade6741aabe625c13bed3c8ed +msgid "" +"For those that are highly motivated, it is also possible to annotate your" +" tool with a much larger amount of metadata. This example includes EDAM " +"ontology tags as keywords (allowing the grouping of related tools), hints" +" at hardware requirements in order to use the tool, and a few more " +"metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: ae7369ba14404d23b72d1ef30dcd4153 +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e +msgid "" +"An Operation is a type of CWL process, just like a workflow, a command-" +"line tool, or an expression tool. It is a step of a workflow that " +"specifies inputs and outputs, but it does not provide enough information " +"to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 047b09455db64524a71c47ab5192039f +msgid "" +"You can create operations to visualize a workflow during development, " +"before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 +msgid "`operations.cwl`" +msgstr "`operations.cwl`" + +#: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 +msgid "" +"The `uppercase` step of the workflow is an operation. It can appear where" +" a command line tool or an expression is expected. You can also plot it " +"with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 +msgid "" +"The output of the command above can be rendered with a Graphviz renderer." +" The following image is rendered with the Sphinx `{graphviz}` directive " +"(this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:56 c07e3ff02ac14ffb89bcbd1b30f3f3fd +msgid "" +"The operation file will fail to run with `cwltool` because `cwltool` " +"lacks the necessary information to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 +msgid "" +"CWL runners may come up with ways to bind operations to concrete steps. A" +" CWL runner could, for instance, use abstract operations with ID's that " +"correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 +msgid "" +"The `outputs` of a tool is a list of output parameters that should be " +"returned after running the tool. Each parameter has an `id` for the name" +" of parameter, and `type` describing what types of values are valid for " +"that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b +msgid "" +"When a tool runs under CWL, the starting working directory is the " +"designated output directory. The underlying tool or script must record " +"its results in the form of files created in the output directory. The " +"output parameters returned by the CWL tool are either the output files " +"themselves, or the result of examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 9845e517f7d848e5b59a97880ca6999f +msgid "" +"The following example demonstrates how to return a file that has been " +"extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b +msgid "" +"In previous examples, the `baseCommand` was just a string, with any " +"arguments passed as CWL inputs. Instead of a single string, we can use an" +" _array of strings_ as the value of `baseCommand`. The first element of " +"the array is the command to run, and any subsequent elements are " +"mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f +msgid "Next, create a tar file for the example." +msgstr "Agora, crie um arquivo tar para o exemplo." + +#: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 +msgid "" +"And now invoke `cwltool` with the tool description and the input object " +"on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 +msgid "" +"The field " +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" +" describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 +msgid "" +"The " +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) " +"field consists of the pattern to match file names in the output " +"directory. This can simply be the file's exact name. But if you don't " +"know the name of the file in advance, you can use a wildcard pattern like" +" `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 +msgid "" +"To capture a tool's standard output stream, add the " +"[`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with " +"the name of the file where the output stream should go. Then add `type: " +"stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 +msgid "" +"You can also capture multiple output files into an array of files using " +"`glob`." +msgstr "" + +#: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 +msgid "" +"As described in the [YAML Guide](yaml-guide.md#arrays), the array of " +"expected outputs is specified in `array-outputs-job.yml` with each entry " +"marked by a leading `-`. This format can also be used in CWL descriptions" +" to mark entries in arrays, as demonstrated in several of the upcoming " +"sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 +msgid "" +"In a previous example, we extracted a file using the \"tar\" program. " +"However, that example was very limited because it assumed that the file " +"we were interested in was called \"hello.txt\", and this was written into" +" the `.cwl` file. This is not the best way to do this, as the " +"\"hello.txt\" filename may vary or be dependent on the input file(s) " +"used. To avoid this we can specify the name of the file we want in the " +"job parameters file (`.yml`). In this example, you will see how to " +"reference the value of input parameters dynamically from other fields, " +"which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 9b1e2f1a23ea4fe2af97ef5108f33376 +msgid "" +"Create your input files and invoke `cwltool` with the tool description " +"and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 06926a516ae6432d96e3eaa62202cd86 +msgid "" +"Certain fields permit parameter references which are enclosed in " +"`$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 +msgid "" +"References are written using a subset of Javascript syntax. In this " +"example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " +"`$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 56ead1c8d45c43bdbcbc6f7cbb8e1e92 +msgid "" +"The value of the \"inputs\" variable is the input object provided when " +"the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d +msgid "" +"Note that because `File` parameters are objects, to get the path to an " +"input file you must reference the path field on a file object; to " +"reference the path to the tar file in the above example you would write " +"`$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 +msgid "" +"From " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 f592619e4b2c497e80cd75da0548cf07 +msgid "" +"From " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 81ea71a35020421187dc18ddd151c62f +msgid "" +"From " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 ea0117748adc4324901024f21eed04ac +msgid "" +"From " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 3a30e73176cf4e4eb9f26770a176b9c9 +msgid "" +"From " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 7008a1ff1af54fda827637e787e5c7dd +#, fuzzy +msgid "" +"From " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"De " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"De " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" e " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/parameter-references.md:92 0ae32d1db5f9452bbfcbbc4719b0b9f1 +msgid "" +"From " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 7e1907ff15c74f488187531de336eccf +msgid "" +"From " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 678874668fed4f4d80a1b0990e183e2f +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: e2882880886046ac88ae1c0d414366d1 +msgid "" +"From " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: 05324169d8ae48d4a1abe3a0ac07c891 +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: 1f5b72d7ec82442ba29baa14a03f061b +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: e708866921ea49d69d3c2a32d63ea468 +msgid "" +"Often, tool descriptions will be written for a specific version of a " +"software. To make it easier for others to use your descriptions, you can " +"include a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)" +" field in the `hints` section. This may also help to avoid confusion " +"about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 6f722d6fd54f485fa964076c8d08938b +msgid "" +"In this example, the software requirement being described is InterProScan" +" version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 5c1236ec57c64079bfb7c779524b12ad +msgid "" +"Depending on your CWL runner, these hints may be used to check that the " +"required software is installed and available before the job is run. To " +"enable these checks with the reference implementation, use the " +"[dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 1a8b8aadf1c64e87b8b670e288bc14bc +msgid "" +"As well as a version number, a unique resource identifier (URI) for the " +"tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be" +" looked up in the [SciCrunch][scicrunch] registry, which provides a " +"portal for finding, tracking, and referring to scientific resources " +"consistently. If you want to specify a tool as a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)," +" search for the tool on SciCrunch and use the RRID that it has been " +"assigned in the registry. (Follow this [Adding a Resource Tutorial" +"][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID " +"to refer to the tool (via [identifiers.org][identifiers]) in the `specs` " +"field of your requirement description. Other good choices, in order of " +"preference, are to include the DOI for the main tool citation and the URL" +" to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a +msgid "" +"Normally, input files are located in a read-only directory separate from " +"the output directory. This causes problems if the underlying tool " +"expects to write its output files alongside the input file in the same " +"directory. You use " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)" +" to stage input files into the output directory. In this example, we use " +"a JavaScript expression to extract the base name of the input file from " +"its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 +msgid "Troubleshooting" +msgstr "Solucionando Problemas" + +#: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 +msgid "" +"In this section you will find ways to troubleshoot when you have problems" +" executing CWL. We focus on `cwltool` here but some of these techniques " +"may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 +msgid "" +"You can use the `--cachedir` option when running a workflow to tell " +"`cwltool` to cache intermediate files (files that are not input nor " +"output files, but created while your workflow is running). By default, " +"these files are created in a temporary directory but writing them to a " +"separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +msgid "" +"In the following example `troubleshooting-wf1.cwl` we have two steps, " +"`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " +"World\" | rev`, which would print the message \"Hello World\" reversed, " +"i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**," +" where instead of executing the `rev` command it tries to execute `revv`," +" which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +msgid "" +"Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` " +"value (`cwltool` will create the directory for you if it does not exist " +"already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +msgid "" +"The workflow is in the `permanentFail` status due to `step_b` failing to " +"execute the non-existent `revv` command. The `step_a` was executed " +"successfully and its output has been cached in your `cachedir` location. " +"You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +msgid "" +"Each workflow step has received a unique ID (the long value that looks " +"like a hash). The `${HASH}.status` files display the status of each step " +"executed by the workflow. And the `step_a` output file `stdout.txt` is " +"visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +msgid "" +"Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev`" +" in the `step_b`). After fixing the typo, when you execute `cwltool` with" +" the same arguments as the previous time, note that now `cwltool` output " +"contains information about pre-cached outputs for `step_a`, and about a " +"new cache entry for the output of `step_b`. Also note that the status of " +"`step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +msgid "" +"In this example the workflow step `step_a` was not re-evaluated as it had" +" been cached, and there was no change in its execution or output. " +"Furthermore, `cwltool` was able to recognize when it had to re-evaluate " +"`step_b` after we fixed the executable name. This technique is useful for" +" troubleshooting your CWL documents and also as a way to prevent " +"`cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a +msgid "Using Containers" +msgstr "Utilizando Containers" + +#: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +msgid "" +"[Docker][docker] containers simplify software installation by providing a" +" complete known-good runtime for software and its dependencies. However," +" containers are also purposefully isolated from the host system, so in " +"order to run a tool inside a Docker container there is additional work to" +" ensure that input files are available inside the container and output " +"files can be recovered from the container. A CWL runner can perform this" +" work automatically, allowing you to use Docker to simplify your software" +" management while avoiding the complexity of invoking and managing Docker" +" containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +msgid "" +"One of the responsibilities of the CWL runner is to adjust the paths of " +"input files to reflect the location where they appear inside the " +"container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +msgid "" +"This example runs a simple Node.js script inside a Docker container which" +" will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +msgid "" +"Before we run this, let's just break it down and see what some bits do. " +"Most of this has been explained in previous sections, the only part that " +"is really new is the " +"[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" +" section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +msgid "" +"`baseCommand: node` tells CWL that we will be running this command using " +"the Node Js runtime that is meant for Javascript files. We then need to " +"specify some `hints` for how to find the container we want. In this case" +" we list just our requirements for the docker container in " +"`DockerRequirements`. The `dockerPull:` parameter takes the same value " +"that you would pass to a `docker pull` command. That is, the name of the " +"container image (you can even specify the tag, which is good idea for " +"best practices when using containers for reproducible research). In this " +"case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 54cade4978ec463bbb5c0d8c08e27adb +msgid "" +"Create a Javascript file named \"hello.js\" and invoke `cwltool` " +"providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +msgid "" +"Notice the CWL runner has constructed a Docker command line to run the " +"script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +msgid "" +"In this example, the path to the script `hello.js` is " +"`/home/me/cwl/user_guide/hello.js` outside the container but " +"`/var/lib/cwl/job369354770_examples/hello.js` inside the container, as " +"reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da +msgid "Workflows" +msgstr "Workflows" + +#: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 +msgid "" +"A workflow is a CWL processing unit that executes command-line tools, " +"expression tools, or workflows (sub-workflows) as steps. It must have " +"`inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +msgid "" +"The CWL document `echo-uppercase.cwl` defines a workflow that runs the " +"command-line tool, and the expression tool showed in the earlier " +"examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +msgid "" +"A command-line tool or expression tool can also be written directly in " +"the same CWL document as the workflow. For example, we can rewrite the " +"`echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +msgid "" +"Having separate files helps with modularity and code organization. But it" +" can be helpful writing everything in a single file for development. " +"There are other ways to combine multiple files into a single file (e.g. " +"`cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 +msgid "" +"For a sub-workflows you need to enable the requirement " +"`SubworkflowFeatureRequirement`. It is covered in another section of this" +" user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 +msgid "" +"This workflow extracts a java source file from a tar file and then " +"compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 +#: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +msgid "" +"[![Visualization of 1st-" +"workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 5ff059fc8ae6471c8ea86dab7e5a93f5 +msgid "" +"Use a YAML or a JSON object in a separate file to describe the input of a" +" run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 +msgid "`1st-workflow-job.yml`" +msgstr "`1st-workflow-job.yml`" + +#: ../../src/topics/workflows.md:191 4a4db7da861547639524083bf35ccfc0 +msgid "" +"Next, create a sample Java file and add it to a tar file to use with the " +"command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 +msgid "" +"The `cwlVersion` field indicates the version of the CWL spec used by the " +"document. The `class` field indicates this document describes a " +"workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +msgid "" +"The `inputs` section describes the inputs of the workflow. This is a " +"list of input parameters where each parameter consists of an identifier " +"and a data type. These parameters can be used as sources for input to " +"specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +msgid "" +"The `outputs` section describes the outputs of the workflow. This is a " +"list of output parameters where each parameter consists of an identifier " +"and a data type. The `outputSource` connects the output parameter " +"`classfile` of the `compile` step to the workflow output parameter " +"`compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +msgid "" +"The `steps` section describes the actual steps of the workflow. In this " +"example, the first step extracts a file from a tar file, and the second " +"step compiles the file from the first step using the java compiler. " +"Workflow steps are not necessarily run in the order they are listed, " +"instead the order is determined by the dependencies between steps (using " +"`source`). In addition, workflow steps which do not depend on one " +"another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +msgid "" +"The first step, `untar` runs `tar-param.cwl` (described previously in " +"[Parameter References](parameter-references.md)). This tool has two input" +" parameters, `tarfile` and `extractfile` and one output parameter " +"`extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +msgid "" +"The ``in`` section of the workflow step connects these two input " +"parameters to the inputs of the workflow, `tarball` and " +"`name_of_file_to_extract` using `source`. This means that when the " +"workflow step is executed, the values assigned to `tarball` and " +"`name_of_file_to_extract` will be used for the parameters `tarfile` and " +"`extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +msgid "" +"The `out` section of the workflow step lists the output parameters that " +"are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 +msgid "" +"The second step `compile` depends on the results from the first step by " +"connecting the input parameter `src` to the output parameter of `untar` " +"using `untar/extracted_file`. It runs `arguments.cwl` (described " +"previously in [Additional Arguments and Parameters](additional-arguments-" +"and-parameters.md)). The output of this step `classfile` is connected to " +"the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +msgid "" +"Workflows are ways to combine multiple tools to perform a larger " +"operations. We can also think of a workflow as being a tool itself; a CWL" +" workflow can be used as a step in another CWL workflow, if the workflow " +"engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 +msgid "" +"Here's an example workflow that uses our `1st-workflow.cwl` as a nested " +"workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 +msgid "`nestedworkflows.cwl`" +msgstr "`nestedworkflows.cwl`" + +#: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 +msgid "" +"This two-step workflow starts with the `create-tar` step which is " +"connected to the `compile` step in orange; `compile` is another workflow," +" diagrammed on the right. In purple we see the fixed string " +"`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda +msgid "" +" \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 +msgid "" +"A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, " +"its CWL file is included with `run`. The workflow inputs (`tarball` and " +"`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " +"mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +msgid "" +"Our `1st-workflow.cwl` was parameterized with workflow inputs, so when " +"running it we had to provide a job file to denote the tar file and " +"`*.java` filename. This is generally best-practice, as it means it can be" +" reused in multiple parent workflows, or even in multiple steps within " +"the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 +msgid "" +"Here we use `default:` to hard-code `\"Hello.java\"` as the " +"`name_of_file_to_extract` input, however our workflow also requires a tar" +" file at `tarball`, which we will prepare in the `create-tar` step. At " +"this point it is probably a good idea to refactor `1st-workflow.cwl` to " +"have more specific input/output names, as those also appear in its usage " +"as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +msgid "" +"It is also possible to do a less generic approach and avoid external " +"dependencies in the job file. So in this workflow we can generate a hard-" +"coded `Hello.java` file using the previously mentioned " +"`InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee +msgid "" +"In this case our step can assume `Hello.java` rather than be " +"parameterized, so we can use hardcoded values `hello.tar` and " +"`Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c +msgid "" +"Did you notice that we didn't split out the `tar --create` tool to a " +"separate file, but rather embedded it within the CWL Workflow file? This " +"is generally not best practice, as the tool then can't be reused. The " +"reason for doing it in this case is because the command line is hard-" +"coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 +msgid "" +"In this example we had to prepare a tar file outside, but only because " +"our inner workflow was designed to take that as an input. A better " +"refactoring of the inner workflow would be to take a list of Java files " +"to compile, which would simplify its usage as a tool step in other " +"workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 +msgid "" +"Nested workflows can be a powerful feature to generate higher-level " +"functional and reusable workflow units - but just like for creating a CWL" +" Tool description, care must be taken to improve its usability in " +"multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d +msgid "" +"Now that we know how to write workflows, we can start utilizing the " +"`ScatterFeatureRequirement`. This feature tells the runner that you wish " +"to run a tool or workflow multiple times over a list of inputs. The " +"workflow then takes the input(s) as an array and will run the specified " +"step(s) on each element of the array as if it were a single input. This " +"allows you to run the same workflow on multiple inputs without having to " +"generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +msgid "" +"The most common reason a new user might want to use scatter is to perform" +" the same analysis on different samples. Let's start with a simple " +"workflow that calls our first example (`hello_world.cwl`) and takes an " +"array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 +msgid "`scatter-workflow.cwl`" +msgstr "`scatter-workflow.cwl`" + +#: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +msgid "" +"Aside from the `requirements` section including " +"`ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 +msgid "" +"First of all, notice that the main workflow level input here requires an " +"array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +msgid "" +"Here we've added a new field to the step `echo` called `scatter`. This " +"field tells the runner that we'd like to scatter over this input for this" +" particular step. Note that the input name listed after scatter is the " +"one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 +msgid "" +"For our first scatter, it's as simple as that! Since our tool doesn't " +"collect any outputs, we still use `outputs: []` in our workflow, but if " +"you expect that the final output of your workflow will now have multiple " +"outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 +msgid "Using the following input file:" +msgstr "Usando o seguinte arquivo de entrada:" + +#: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d +msgid "" +"As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply" +" calls the command `echo` on a message. If we invoke `cwltool scatter-" +"workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f +msgid "" +"You can see that the workflow calls echo multiple times on each element " +"of our `message_array`. Ok, so how about if we want to scatter over two " +"steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 99b5c8a845ab4beb8524a69c051e2d42 +msgid "" +"Let's perform a simple echo like above, but capturing `stdout` by adding " +"the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 173bd28708834f11a2a1366b579b7ad7 +msgid "" +"And add a second step that uses `wc` to count the characters in each " +"file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +msgid "" +"Now, how do we incorporate scatter? Remember the scatter field is under " +"each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +msgid "" +"Here we have placed the scatter field under each step. This is fine for " +"this example since it runs quickly, but if you're running many samples " +"for a more complex workflow, you may wish to consider an alternative. " +"Here we are running scatter on each step independently, but since the " +"second step is not dependent on the first step completing all languages, " +"we aren't using the scatter functionality efficiently. The second step " +"expects an array as input from the first step, so it will wait until " +"everything in step one is finished before doing anything. Pretend that " +"`echo Hello World!` takes 1 minute to perform, `wc -c` on the output " +"takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, " +"and `wc` on that output takes 3 minutes. Even though `echo Hello World!` " +"could finish in 4 minutes, it will actually finish in 8 minutes because " +"the first step must wait on `echo Hallo welt!`. You can see how this " +"might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 +msgid "" +"Ok, so how do we scatter on steps that can proceed independent of other " +"samples? Remember from [Nested Workflows](#nested-workflows), that we can" +" make an entire workflow a single step in another workflow! Convert our " +"two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 +msgid "`scatter-nested-workflow.cwl`" +msgstr "`scatter-nested-workflow.cwl`" + +#: ../../src/topics/workflows.md:519 508ef2240879445594b0f262ed11a01d +msgid "" +"Now the scatter acts on a single step, but that step consists of two " +"steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef +msgid "Conditional Workflows" +msgstr "Workflows Condicionais" + +#: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 +msgid "" +"This workflow contains a conditional step and is executed based on the " +"input. This allows workflows to skip additional steps based on input " +"parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 4a4a2b2b99b44d449adb246cebce0a26 +msgid "" +"The first thing you'll notice is that this workflow is only compatible " +"for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 +msgid "" +"The first step of the workflow (step1) contains two input properties and " +"will execute foo.cwl when the conditions are met. The new property `when`" +" is where the condition validation takes place. In this case only when " +"`in1` from the workflow contains a value `< 1` this step will be " +"executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf +msgid "" +"Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value" +" will pass the first conditional step and will therefore be executed and " +"is shown in the log by `INFO [step step1] start` whereas the second step " +"is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 7cd80b31a94543358ece7a2d413adce9 +msgid "" +"When a value of 3 is given the first conditional step will not be " +"executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 9679e32f65e0482a8b083387e4a18c1f +msgid "" +"If no conditions are met for example when using `--val 2` the workflow " +"will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 +msgid "YAML Guide" +msgstr "Guia de YAML" + +#: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb +msgid "" +"[YAML][yaml] is a file format designed to be readable by both computers " +"and humans. This guide introduces the features of YAML that are relevant " +"when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d +msgid "Contents" +msgstr "Conteúdo" + +#: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 +msgid "[JSON Style](#json-style)" +msgstr "[Estilo JSON](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 +msgid "Key-Value Pairs" +msgstr "Pares de Chave-Valor" + +#: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe +msgid "" +"Fundamentally, a file written in YAML consists of a set of _key-value " +"pairs_. Each pair is written as `key: value`, where whitespace after the " +"`:` is required. Key names in CWL files should not contain whitespace - " +"[_camelCase_][camelCase] is used for multi-word key names that have " +"special meaning in the CWL specification and underscored key names " +"otherwise. For example:" +msgstr "" +"Em princípio, um arquivo escrito em YAML consiste de uma série de _pares " +"de chave-valor`. Cada par é escrito como `chave: valor`, onde o espaço em" +" branco entre o `:` é um requisito. Os nomes das chaves em arquivos CWL " +"não devem conter espaços em branco - [_camelCase_][camelCase] é usado " +"para valores de chaves que contém múltiplas palavras e possuem um valor " +"especial na especificação CWL, caso contrário os valores dos nomes de " +"chaves aparecem sublinhados. For exemplo:" + +#: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 +msgid "" +"The YAML above defines four keys - `first_name`, `last_name`, " +"`age_years`, and `home` - with their four respective values. Values can " +"be character strings, numeric (integer, floating point, or scientific " +"representation), Boolean (`true` or `false`), or more complex nested " +"types (see below)." +msgstr "" +"O YAML acima define quatro chaves - `first_name`, `last_name`, " +"`age_years`, e `home` - com quatro valores respectivos. Os valores podem " +"ser strings de caracteres, númericos (integer, floating point, ou " +"representação científica), Boolean (`true` ou `false`), ou valores mais " +"complexos com tipos aninhados (veja abaixo)." + +#: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 +msgid "" +"Values may be wrapped in quotation marks, but be aware that this may " +"change the way that they are interpreted i.e. `\"1234\"` will be treated " +"as a character string , while `1234` will be treated as an integer. This " +"distinction can be important, for example when describing parameters to a" +" command: in CWL all parts of `baseCommand` must be strings so, if you " +"want to specify a fixed numeric value to a command, make sure that you " +"wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 +msgid "" +"You may use `#` to add comments to your CWL and parameter files. Any " +"characters to the right of ` #` will be ignored by the program " +"interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +msgid "" +"If there is anything on the line before the comment, be sure to add at " +"least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +msgid "Maps" +msgstr "Dicionários" + +#: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e +msgid "" +"When describing a tool or workflow with CWL, it is usually necessary to " +"construct more complex, nested representations. Referred to as _maps_, " +"these hierarchical structures are described in YAML by providing " +"additional key-value pairs as the value of any key. These pairs " +"(sometimes referred to as \"children\") are written on new lines under " +"the key to which they belong (the \"parent\"), and should be indented " +"with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 +msgid "" +"The YAML above illustrates how to build up complex nested object " +"descriptions relatively quickly. The `inputs` map contains a single key, " +"`example_flag`, which itself contains two keys, `type` and " +"`inputBinding`, while one of these children, `inputBinding`, contains a " +"further two key-value pairs (`position` and `prefix`). See the " +"[Arrays](#arrays) section below for more information about providing " +"multiple values/key-value pairs for a single key. For comparison with the" +" example YAML above, here is a graphical representation of the `inputs` " +"object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 +msgid "" +"In certain circumstances, it is necessary to provide multiple values or " +"objects for a single key. As we've already seen in the [Maps](#maps) " +"section above, more than one key-value pair can be mapped to a single " +"key. However, it is also possible to define multiple values for a key " +"without having to provide a unique key for each value. We can achieve " +"this with an _array_, where each value is defined on its own line and " +"preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc +msgid "JSON Style" +msgstr "Estilo JSON" + +#: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b +msgid "" +"YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and " +"arrays can also be defined in YAML using the native JSON syntax. For " +"example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 +msgid "and:" +msgstr "e:" + +#: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +msgid "" +"Native JSON can be useful in indicating where a field is intentionally " +"left empty (such as `[]` for an empty array), as well as where it makes " +"more sense for the values to be located on the same line (For example, " +"when providing option flags and their values in a shell command). " +"However, as the second example above shows, it can severely affect the " +"readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 +msgid "Reference" +msgstr "Referencia" + +#: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 +msgid "" +"The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for" +" us while we wrote this guide, though it also covers features that are " +"not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 +msgid "Tutorials" +msgstr "Tutoriais" + +#: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae +msgid "" +"This is a list of tutorials provided by the CWL community. Use the `Edit " +"this page` link in the menu if you would like to add another tutorial to " +"the list." +msgstr "" + +#: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d +msgid "Beginner Tutorials" +msgstr "Tutoriais para Iniciantes" + +#: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e +msgid "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-" +"tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 e640316669104239970794191b6da38b +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" + +#~ msgid "In CWL, everything must be directly stated." +#~ msgstr "Em CWL tudo deve ser declarado diretamente." + +#~ msgid "" +#~ "Using " +#~ "[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +#~ " along with [`linkMerge: " +#~ "merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +#~ msgstr "" + +#~ msgid "Optional Inputs 💯" +#~ msgstr "Inputs Opcionais 💯" + +#~ msgid "Enum Inputs ⚜️" +#~ msgstr "Inputs Enum ⚜️" + +#~ msgid "Record Inputs 📀" +#~ msgstr "Inputs do tipo Record" + +#~ msgid "Debug JavaScript Expressions" +#~ msgstr "Depurar Expressões JavaScript" + +#~ msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +#~ msgstr "" + +#~ msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +#~ msgstr "" + +#~ msgid "" +#~ "`InitialWorkDirRequirement` - controls staging " +#~ "files in the input directory." +#~ msgstr "" + +#~ msgid "" +#~ "The FAIR principles have laid a " +#~ "foundation for sharing and publishing " +#~ "digital assets, and in particular, data." +#~ " The FAIR principles emphasize machine " +#~ "accessibility and that all digital " +#~ "assets should be Findable, Accessible, " +#~ "Interoperable, and Reusable. Workflows encode" +#~ " the methods by which the scientific" +#~ " process is conducted and via which" +#~ " data are created. It is thus " +#~ "important that workflows support the " +#~ "creation of FAIR data and adhere " +#~ "to the FAIR principles. — [FAIR " +#~ "Computational " +#~ "Workflows](https://workflows.community/groups/fair/), Workflows" +#~ " Community Initiative." +#~ msgstr "" + +#~ msgid "" +#~ "If you are using Windows, you will" +#~ " have to install the [Windows " +#~ "Subsystem for Linux 2](https://learn.microsoft.com" +#~ "/en-us/windows/wsl/install) (WSL2). Visit the " +#~ "`cwltool` [documentation](https://github.com/common-" +#~ "workflow-language/cwltool/blob/main/README.rst#ms-windows-" +#~ "users) for details on installing WSL2." +#~ " Your operating system also needs " +#~ "internet access and a recent version " +#~ "of Python (3.6+)." +#~ msgstr "" + +#~ msgid "" +#~ "`cwltool` can be installed with `pip`." +#~ " We recommend using a virtual " +#~ "environment like `venv` or `conda`. The" +#~ " following commands will create and " +#~ "activate a Python virtual environment " +#~ "using the `venv` module, and install " +#~ "`cwltool` in that environment:" +#~ msgstr "" + +#~ msgid "Installing `cwltool` with `pip` and `venv`." +#~ msgstr "Instalando `cwltool` com `pip` e `venv`." + +#~ msgid "Cwl-runner Python Module" +#~ msgstr "Módulo Python cwl-runner" + +#~ msgid "" +#~ "The CWL community publishes a Python " +#~ "package with the name `cwlref-runner`" +#~ " that installs an alias for `cwltool`" +#~ " under the name `cwl-runner`" +#~ msgstr "" + +#~ msgid "" +#~ "The *shebang* is the two-character " +#~ "sequence `#!` at the beginning of " +#~ "a script. When the script is " +#~ "executable, the operating system will " +#~ "execute the script using the executable" +#~ " specified after the shebang. It is" +#~ " considered a good practice to use" +#~ " `/usr/bin/env ` rather than " +#~ "using a hard-coded location, since " +#~ "`/usr/bin/env ` looks for the " +#~ "`` program in the system " +#~ "`PATH`," +#~ msgstr "" + +#~ msgid "" +#~ "The usage of the `cwltool` command-" +#~ "line executable is basically `cwltool " +#~ "[OPTIONS] [INPUTS_OBJECT]`. You " +#~ "can run the `hello_world.cwl` workflow " +#~ "without specifying any option:" +#~ msgstr "" + +#~ msgid "" +#~ "For more examples of providing metadata" +#~ " within CWL descriptions, see [the " +#~ "Metadata and Authorship section of this" +#~ " User Guide](../topics/metadata-and-" +#~ "authorship.md)." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, list dependencies " +#~ "using short name(s) under " +#~ "`SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, include a list " +#~ "of version(s) of the tool that are" +#~ " known to work with this description" +#~ " under `SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Each `CommandLineTool` description should " +#~ "focus on a single operation only, " +#~ "even if the (sub)command is capable " +#~ "of more. Don't overcomplicate your tool" +#~ " descriptions with options that you " +#~ "don't need or use." +#~ msgstr "" + +#~ msgid "" +#~ "This indicates whether a process " +#~ "requires outgoing IPv4/IPv6 network access." +#~ " If a command-line tool is " +#~ "written manually in CWL v1.1+, there " +#~ "is a need to specify when network" +#~ " access is required." +#~ msgstr "" + +#~ msgid "" +#~ "CWL v1.0 command-line tools that " +#~ "are upgraded to v1.1 or v1.2 get" +#~ " Network Access automatically." +#~ msgstr "" + +#~ msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Note also that the author of this" +#~ " CWL description has also included " +#~ "`ResourceRequirement`s, specifying the minimum " +#~ "amount of RAM and number of cores" +#~ " required for the tool to run " +#~ "successfully, as well as details of " +#~ "the version of the software that " +#~ "the description was written for and " +#~ "other useful metadata. These features " +#~ "are discussed further in other chapters" +#~ " of this user guide." +#~ msgstr "" + +#~ msgid "" +#~ "Similar to the command-line tool " +#~ "it requires `inputs` and `outputs`. But" +#~ " instead of `baseCommand`, it requires " +#~ "an `expression` attribute." +#~ msgstr "" + +#~ msgid "" +#~ "We had to use an " +#~ "`InlineJavascriptRequirement` as our expression " +#~ "contains a JavaScript call in " +#~ "`.toUpperCase()`. This means to tools " +#~ "using the expression tool that " +#~ "JavaScript is a requirement." +#~ msgstr "" + +#~ msgid "" +#~ "If you need to manipulate input " +#~ "parameters, include the requirement " +#~ "`InlineJavascriptRequirement` and then anywhere " +#~ "a parameter reference is legal you " +#~ "can provide a fragment of Javascript " +#~ "that will be evaluated by the CWL" +#~ " runner." +#~ msgstr "" + +#~ msgid "From `Workflow`" +#~ msgstr "" + +#~ msgid "" +#~ "The requirement `InlineJavascriptRequirement` " +#~ "supports an `expressionLib` attribute that " +#~ "allows users to load external JavaScript" +#~ " files, or to provide inline " +#~ "JavaScript code." +#~ msgstr "" + +#~ msgid "" +#~ "Tools and workflows can take `File` " +#~ "types as input and produce them as" +#~ " output. We also recommend indicating " +#~ "the format for `File` types. This " +#~ "helps document for others how to " +#~ "use your tool while allowing you " +#~ "to do some simple type-checking " +#~ "when creating parameter files." +#~ msgstr "" + +#~ msgid "" +#~ "Available primitive types are *string*, " +#~ "*int*, *long*, *float*, *double*, and " +#~ "*null*; complex types are *array* and" +#~ " *record*; in addition there are " +#~ "special types *File*, *Directory* and " +#~ "*Any*." +#~ msgstr "" + +#~ msgid "" +#~ "You can use `cwltool` to create a" +#~ " template input object. That saves " +#~ "you from having to type all the" +#~ " input parameters in a input object" +#~ " file:" +#~ msgstr "" + +#~ msgid "" +#~ "The field `inputBinding` is optional and" +#~ " indicates whether and how the input" +#~ " parameter should appear on the " +#~ "tool's command line. If `inputBinding` " +#~ "is missing, the parameter does not " +#~ "appear on the command line. Let's " +#~ "look at each example in detail." +#~ msgstr "" + +#~ msgid "" +#~ "If you use exclusive input parameters" +#~ " combined with expressions, you need " +#~ "to be aware that the `inputs` " +#~ "JavaScript object will contain one of" +#~ " the exclusive input values. This " +#~ "means that you might need to use" +#~ " an **or** boolean operator to check" +#~ " which values are present." +#~ msgstr "" + +#~ msgid "" +#~ "Note how the JavaScript expression uses" +#~ " the value of the exclusive input " +#~ "parameter without taking into consideration" +#~ " a `null` value. If you provide " +#~ "a valid value, such as “fasta” " +#~ "(one of the values of the enum)," +#~ " your command should execute successfully:" +#~ msgstr "" + +#~ msgid "" +#~ "However, if you do not provide any" +#~ " input value, then `file_format` will " +#~ "be evaluated to a `null` value, " +#~ "which does not match the expected " +#~ "type for the output field (a " +#~ "`string`), resulting in failure when " +#~ "running your workflow." +#~ msgstr "" + +#~ msgid "" +#~ "To correct it, you must remember " +#~ "to use an or operator in your " +#~ "JavaScript expression when using exclusive " +#~ "parameters, or any parameter that allows" +#~ " `null`. For example, the expression " +#~ "could be changed to `$(inputs.file_format " +#~ "|| 'auto')`, to have a default " +#~ "value if none was provided in the" +#~ " command line or job input file." +#~ msgstr "" + +#~ msgid "" +#~ "The `uppercase` step of the workflow " +#~ "is an operation. It can be used" +#~ " like a command line tool or an" +#~ " expression. You can also plot it " +#~ "with the CWL Viewer or `cwltool`:" +#~ msgstr "" + +#~ msgid "" +#~ "The output of the command above " +#~ "can be rendered with a Graphviz " +#~ "renderer. The following image is " +#~ "rendered with the Sphinx Graphviz " +#~ "directive (this user guide is built " +#~ "with Sphinx):" +#~ msgstr "" + +#~ msgid "" +#~ "If you try running it with " +#~ "`cwltool`, the command will fail since" +#~ " `cwltool` does not have enough " +#~ "information to know how to execute " +#~ "it:" +#~ msgstr "" + +#~ msgid "" +#~ "When a tool runs under CWL, the" +#~ " starting working directory is the " +#~ "designated output directory. The underlying" +#~ " tool or script must record its " +#~ "results in the form of files " +#~ "created in the output directory. The" +#~ " output parameters returned by the " +#~ "CWL tool are either the output " +#~ "files themselves, or come from examining" +#~ " the content of those files." +#~ msgstr "" + +#~ msgid "" +#~ "In previous examples, the `baseCommand` " +#~ "was just a string, with any " +#~ "arguments passed as CWL inputs. Instead" +#~ " of a single string we can use" +#~ " an _array of strings_. The first" +#~ " element is the command to run, " +#~ "and any subsequent elements are " +#~ "mandatory command line arguments" +#~ msgstr "" + +#~ msgid "" +#~ "The field `outputBinding` describes how " +#~ "to set the value of each output" +#~ " parameter." +#~ msgstr "" + +#~ msgid "" +#~ "The `glob` field consists of the " +#~ "name of a file in the output " +#~ "directory. If you don't know name " +#~ "of the file in advance, you can" +#~ " use a wildcard pattern like `glob:" +#~ " '*.txt'`." +#~ msgstr "" + +#~ msgid "" +#~ "To capture a tool's standard output " +#~ "stream, add the `stdout` field with " +#~ "the name of the file where the " +#~ "output stream should go. Then add " +#~ "`type: stdout` on the corresponding " +#~ "output parameter." +#~ msgstr "" + +#~ msgid "" +#~ "Often, tool descriptions will be written" +#~ " for a specific version of a " +#~ "software. To make it easier for " +#~ "others to use your descriptions, you " +#~ "can include a `SoftwareRequirement` field " +#~ "in the `hints` section. This may " +#~ "also help to avoid confusion about " +#~ "which version of a tool the " +#~ "description was written for." +#~ msgstr "" + +#~ msgid "" +#~ "As well as a version number, a " +#~ "unique resource identifier (URI) for the" +#~ " tool is given in the form of" +#~ " an [RRID][rrid]. Resources with RRIDs " +#~ "can be looked up in the " +#~ "[SciCrunch][scicrunch] registry, which provides " +#~ "a portal for finding, tracking, and " +#~ "referring to scientific resources " +#~ "consistently. If you want to specify " +#~ "a tool as a `SoftwareRequirement`, " +#~ "search for the tool on SciCrunch " +#~ "and use the RRID that it has " +#~ "been assigned in the registry. (Follow" +#~ " this [Adding a Resource Tutorial" +#~ "][scicrunch-add-tool] to add a tool" +#~ " to SciCrunch). You can use this " +#~ "RRID to refer to the tool (via " +#~ "[identifiers.org][identifiers]) in the `specs` " +#~ "field of your requirement description. " +#~ "Other good choices, in order of " +#~ "preference, are to include the DOI " +#~ "for the main tool citation and the" +#~ " URL to the tool." +#~ msgstr "" + +#~ msgid "" +#~ "Normally, input files are located in " +#~ "a read-only directory separate from " +#~ "the output directory. This causes " +#~ "problems if the underlying tool expects" +#~ " to write its output files alongside" +#~ " the input file in the same " +#~ "directory. You use `InitialWorkDirRequirement` " +#~ "to stage input files into the " +#~ "output directory. In this example, we" +#~ " use a JavaScript expression to " +#~ "extract the base name of the input" +#~ " file from its leading directory " +#~ "path." +#~ msgstr "" + +#~ msgid "" +#~ "Before we run this, let's just " +#~ "break it down and see what some" +#~ " bits do. Most of this has " +#~ "been explained in previous sections, the" +#~ " only part that is really new " +#~ "is the `dockerRequirement` section." +#~ msgstr "" + diff --git a/locales/pt_PT/LC_MESSAGES/sphinx.po b/locales/pt_PT/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..714c6510 --- /dev/null +++ b/locales/pt_PT/LC_MESSAGES/sphinx.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2025-07-29 17:04+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese (Portugal) \n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.13-dev\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "Navegação principal" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "Secção de navegação" diff --git a/locales/pt_PT/LC_MESSAGES/user_guide.po b/locales/pt_PT/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..210f7e85 --- /dev/null +++ b/locales/pt_PT/LC_MESSAGES/user_guide.po @@ -0,0 +1,4425 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-16 11:48+0100\n" +"PO-Revision-Date: 2025-07-29 17:04+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese (Portugal) \n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac +msgid "Licenses" +msgstr "Licenças" + +#: ../../LICENSE.md:4 9dd9705700664b31a3f296d263b4028b +msgid "Instructional Material" +msgstr "Material Instrucional" + +#: ../../LICENSE.md:6 e54324bd39cd431d91b32e338217b8c7 +msgid "" +"All Common Workflow Language project instructional material and changes " +"to the structure are also made available under the [Creative Commons " +"Attribution license][cc-by-human]. The following is a human-readable " +"summary of (and not a substitute for) the [full legal text of the CC BY " +"4.0 license][cc-by-legal]." +msgstr "" +"Todo o material instrucional do projeto Common Workflow Language e " +"alterações na estrutura também são disponibilizados sob a [licença " +"Creative Commons Attribution][cc-by-human]. O seguinte é um resumo " +"legível por humanos de (e não um substituto para) o [texto legal completo" +" da licença CC BY 4.0][cc-by-legal]." + +#: ../../LICENSE.md:12 754f3f54aa4142ef9dac27f508dd0bca +msgid "You are free:" +msgstr "Tem o direito de:" + +#: ../../LICENSE.md:14 d2b1d5e965ef4e71b64c359549919975 +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"**Compartilhar**---copiar e redistribuir o material em qualquer suporte " +"ou formato" + +#: ../../LICENSE.md:15 fe9551ffef8149bf8da50e70318e8de8 +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**Adaptar**---remixar, transformar, e criar a partir do material" + +#: ../../LICENSE.md:17 247db3bcc7024c44a044886a29ef1414 +msgid "for any purpose, even commercially." +msgstr "para qualquer fim, mesmo que comercial." + +#: ../../LICENSE.md:19 c04d906124854afc917707b7b4e45bb2 +msgid "" +"The licensor cannot revoke these freedoms as long as you follow the " +"license terms:" +msgstr "" +"O licenciante não pode revogar estes direitos desde que você respeite os " +"termos da licença:" + +#: ../../LICENSE.md:24 551cb5ab59dd4737b1042a4ef79ffab7 +msgid "" +"**Attribution**---You must give appropriate credit (mentioning that your " +"work is derived from work that is Copyright © the Common Workflow " +"Language project, and, where practical, linking to " +"https://www.commonwl.org/%20),%20provide%20a%20[link%20to%20the%20license][cc-by-" +"human], and indicate if changes were made. You may do so in any " +"reasonable manner, but not in any way that suggests the licensor endorses" +" you or your use." +msgstr "" + +#: ../../LICENSE.md:32 f6c3b2ccad494ed6811a35537fc1fb0d +msgid "" +"**No additional restrictions**---You may not apply legal terms or " +"technological measures that legally restrict others from doing anything " +"the license permits. With the understanding that:" +msgstr "" +"**Sem restrições adicionais**---Não pode aplicar termos jurídicos ou " +"medidas de caráter tecnológico que restrinjam legalmente outros de " +"fazerem algo que a licença permita. Com o entendimento de que:" + +#: ../../LICENSE.md:36 91c95248cd7f435c909ee263a9a8bf3f +msgid "" +"You do not have to comply with the license for elements of the material " +"in the public domain or where your use is permitted by an applicable " +"exception or limitation." +msgstr "" +"Não tem de cumprir com os termos da licença relativamente a elementos do " +"material que estejam no domínio público ou cuja utilização seja permitida" +" por uma exceção ou limitação que seja aplicável." + +#: ../../LICENSE.md:39 27f79b0b648b4de4b0eb3172b2dc4ae8 +msgid "" +"No warranties are given. The license may not give you all of the " +"permissions necessary for your intended use. For example, other rights " +"such as publicity, privacy, or moral rights may limit how you use the " +"material." +msgstr "" +"Não são dadas quaisquer garantias. A licença pode não lhe dar todas as " +"autorizações necessárias para o uso pretendido. Por exemplo, outros " +"direitos, tais como direitos de imagem, de privacidade ou direitos " +"morais, podem limitar o uso do material." + +#: ../../LICENSE.md:44 1e367d07720d4f9fb7ebc3149052e823 +msgid "Software" +msgstr "Software" + +#: ../../LICENSE.md:46 cf8b58d02b6943a48cb70aa78a27bea4 +msgid "" +"Except where otherwise noted, the example programs and other software " +"provided by Common Workflow Language project are made available under the" +" [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"Salvo indicação em contrário, os programas de exemplo e outro software " +"fornecido pelo projecto Common Workflow Language são disponibilizados sob" +" a [licença Apache 2.0][apache-2.0-license] aprovada pela [OSI][osi]." + +#: ../../LICENSE.md:51 96f1e5be3e1e48db8d9a4c7693008715 +msgid "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." +msgstr "" +"A menos que exigido pela lei aplicável ou acordado por escrito, o " +"software distribuído sob a Licença é distribuído \"COMO ESTÁ\", SEM " +"GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. " +"Consulte a Licença para obter o texto específico sobre as permissões e " +"limitações sob a Licença." + +#: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 +#: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf +#: ecdd0f28d5b048d69dd1ffae2fa1f6c0 +msgid "" +"CWL is a way to describe command-line tools and connect them together to " +"create workflows. Because CWL is a specification and not a specific piece" +" of software, tools and workflows described using CWL are portable across" +" a variety of platforms that support the CWL standard." +msgstr "" +"CWL é uma maneira de descrever ferramentas de linha de comando e de " +"conectá-las formando workflows. Como a CWL é uma especificação e não um " +"software, ferramentas e workflows descritos com a CWL são portáveis entre" +" uma variedade de plataformas que suportam o padrão CWL." + +#: ../../src/episodes.md:5 ../../src/setup.md:5 +#: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 +msgid "This page has moved" +msgstr "Esta página foi movida" + +#: ../../src/episodes.md:9 f03d7cbe6670451db0896f1b674d56c7 +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. Please use the new [Table of Contents](index.md#table-of-" +"contents) to browse the User Guide." +msgstr "" +"O conteúdo desta página está desatualizado e foi mantido para preservar " +"os links do antigo Guia do Utilizador. Por favor, use o novo " +"[Índice](index.md#table-of-contents) para navegar o Guia do Utilizador." + +#: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc +msgid "FAQ" +msgstr "Perguntas Frequentes (FAQ)" + +#: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 +#, fuzzy +msgid "How do I create non \"`File`\" types using `evalFrom`?" +msgstr "Usando `evalFrom` para Tipos Diferentes de \"`File`\"" + +#: ../../src/faq.md:41 8333f51e3f5945fe8963adfc6685bcb1 +msgid "How do I rename an input file?" +msgstr "Como posso renomear um ficheiro de entrada?" + +#: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 +msgid "" +"This example demonstrates how to change the name of an input file as part" +" of a tool description. This could be useful when you are taking files " +"produced from another step in a workflow, and don't want to work with the" +" default names that these files were given when they were created." +msgstr "" +"Este exemplo demonstra como mudar o nome de um arquivo de entrada como " +"parte da descrição da ferramenta. Isso pode ser útil quando você tem " +"arquivos produzidos em outro passo de um workflow, mas prefere não " +"utilizar os nomes dados por padrão quando estes arquivos foram criados." + +#: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 +msgid "How do I rename an output file?" +msgstr "Como posso renomear um ficheiro de saída?" + +#: ../../src/faq.md:61 207e2f97d1c44233ae3f109c5a6ec944 +msgid "" +"This example demonstrates how to change the name of an output file from " +"the default name given to it by a tool:" +msgstr "" +"Este exemplo demonstra como escolher o nome para um arquivo de saída " +"diferente do nome padrão criado por uma ferramenta:" + +#: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 +msgid "" +"By modifying the `basename` field in the `outputEval` field, CWL workflow" +" engines will rename the file using the new name for subsequent steps or " +"as a workflow-level output." +msgstr "" + +#: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 +msgid "How do I reference a local script?" +msgstr "Como faço referência a um script local?" + +#: ../../src/faq.md:88 d3e43b40d6994b32bc37067ee116418e +msgid "There are two ways to reference a local script:" +msgstr "Há duas maneiras de fazer uma referência a um script local:" + +#: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd +#, fuzzy +msgid "" +"The first method involves adding the path to a folder containing your " +"scripts to the `PATH` environment variable. This allows you to execute " +"the shell script directly (without explicitly using the `sh` or `bash` " +"commands)." +msgstr "" +"A primeira maneira é adicionando o arquivo que contém os seus scripts " +"para a variável de ambiente `PATH`. Desta maneira você pode executar o " +"shell script diretamente sem utilizar comandos via `sh` ou `bash`." + +#: ../../src/faq.md:93 34ebca4487a54ceab5d087105820e945 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "Comece adicionando a _shebang_ no topo do seu arquivo:" + +#: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a +msgid "" +"After that, make the script executable with the command `chmod +x " +"scriptname.sh`" +msgstr "" +"Em seguida faça o seu script executável com o comando `chmod +x " +"scriptname.sh`" + +#: ../../src/faq.md:101 756ab4f7edcf42d3872bb86818e088c3 +msgid "" +"Finally, modify your `PATH` to add the directory where your script is " +"located. (It is good practice to use `$HOME/bin` for storing your own " +"scripts)." +msgstr "" +"E finalmente, modifique o seu `PATH` para adicionar o diretório que " +"contém o seu script. (É boa prática usar `$HOME/bin` para scripts do " +"utilizador local)." + +#: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" +"Agora você pode utilizar `baseCommand: scriptname.sh` para rodar o script" +" diretamente." + +#: ../../src/faq.md:117 844938d5d2304c6cb03184b4b4b0b024 +msgid "" +"When you wish to share your work later, you can place your script in a " +"software container in the Docker format." +msgstr "" +"Depois quando você quiser compartilhar o seu trabalho, é possível " +"utilizar um container de software com ferramentas como Docker." + +#: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 +msgid "" +"The second method involves including an input of `type: File` in the " +"script itself:" +msgstr "O segundo método utiliza um input `type: File` diretamente no script:" + +#: ../../src/faq.md:138 ba246320fdd94a1aab4736f83718d793 +#, fuzzy +msgid "How can I set `self`-based input bindings for optional inputs?" +msgstr "Definindo Bindings de Inputs utilizando `self` para Inputs Opcionais" + +#: ../../src/faq.md:140 6169b7be9af7448abcb57eaf91e1cc91 +msgid "" +"Currently, `cwltool` can't cope with missing optional inputs if their " +"input binding makes use of `self`. Below is an example workaround for " +"this, pending a more sophisticated fix." +msgstr "" +"No momento `cwltool` não funciona quando inputs opcionais não estão " +"presentes se o binding de input deles utilizar `self`. O exemplo abaixo " +"contém uma solução alternativa para este problema, até que haja uma " +"solução mais elegante para este problema." + +#: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab +msgid "How can I model a \"one-or-the-other\" parameter?" +msgstr "Como posso modelar um parâmetro \"um ou outro\"?" + +#: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 +msgid "" +"Below is an example showing how to specify different strings to be added " +"to a command line, based on the value given to a Boolean parameter." +msgstr "" +"O exemplo abaixo demonstra como especificar diferentes strings que serão " +"adicionadas à linha de comando, dependendo do valor de um parâmetro " +"Boolean." + +#: ../../src/faq.md:188 5c9980839f404ba6aef92ef23034500f +#, fuzzy +msgid "" +"How do I connect a solo value to an input that expects an array of that " +"type?" +msgstr "Conectar um Único valor a um Input que Espera uma Lista daquele Tipo" + +#: ../../src/faq.md:190 2525baf16c1f4725b096f33fd99009cf +#, fuzzy +msgid "" +"Add a " +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +" along with [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput):" +msgstr "" +"De " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" e " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 +msgid "merge_nested" +msgstr "" + +#: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 +msgid "" +"The input must be an array consisting of exactly one entry for each input" +" link. If \"merge_nested\" is specified with a single link, the value " +"from the link must be wrapped in a single-item list." +msgstr "" + +#: ../../src/faq.md:199 3af16c07e3f148ddb8849c94a3864158 +#, fuzzy +msgid "Which means \"create a list with exactly these sources as elements\"." +msgstr "" +"Que significa \"criar uma lista com exatamente estes sources como " +"elementos\"" + +#: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 +msgid "" +"Or in other words: if the destination is of type `File[]` (an array of " +"`File`s) and the source is a single `File` then add " +"`MultipleInputFeatureRequirement` to the Workflow level `requirements` " +"and add `linkMerge: merge_nested` under the appropriate `in` entry of the" +" destination step." +msgstr "" +"Ou em outras palavras: se o parâmetro destino for do tipo `File[]` (uma " +"lista de `File`s) e a fonte é um único `File`, adicione então " +"`MultipleInputFeatureRequirement` ao `requirements` no nível do Workflow " +"e adicione `linkMerge: merge_nested` sob a entrada apropriada `in` ao " +"step que receberá o parâmetro (target)." + +#: ../../src/faq.md:229 2f1bbb611c9c4f80b7ae0566432f2f35 +msgid "How do make an input optional? 💯" +msgstr "" + +#: ../../src/faq.md:231 08a226efe5d141e68215ac77725033db +msgid "" +"To make an input parameter optional, add a question mark to the type " +"declaration." +msgstr "" +"Para fazer um parâmetro de entrada opcional, adicione um ponto de " +"interrogação à declaração do tipo." + +#: ../../src/faq.md:247 06e70a855a8f455ca0536eead77073c2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 7fda8eeb6a7f4689993ed0118c77f023 +msgid "" +"How do I specify an input that must come from a list of predefined values" +" (i.e. How do I use enum inputs) ?" +msgstr "" + +#: ../../src/faq.md:250 b1934a82553b4da3b7f981e576245dd8 +msgid "" +"For command line flags that require a specific input as the argument an " +"enum type can be declared in CWL. **Specifying null here is known as long" +" form style. It does the same thing as the question mark on the other " +"inputs.**" +msgstr "" +"O tipo enum por ser utilizado em CWL para flags de linha de comando que " +"requerem um tipo de input específico como argumento. **Especificar null " +"aqui é tido como forma estendida. O resultado é o mesmo que o uso do " +"ponto de interrogação nos outros inputs.**" + +#: ../../src/faq.md:267 17fc34fad2094f5ea60e963dabd632b8 +msgid "" +msgstr "" + +#: ../../src/faq.md:268 4d7acfbeba5b4e9cb31f08ef4b280447 +msgid "" +"How do I describe dependent or exclusive input parameters(e.g. How do I " +"use record inputs)?" +msgstr "" + +#: ../../src/faq.md:270 949ce95c082f4a05891a55fee25d4873 +msgid "" +"For commandline flags that are either **mutually exclusive** or " +"**dependent** a special record type can be defined. You can also specify " +"null here to create optional inputs." +msgstr "" + +#: ../../src/faq.md:322 6fd3c469d11d4d52b9fbb7a3d443a8db +#, fuzzy +msgid "How do I set mutually exclusive parameters?" +msgstr "Definindo Parâmetros Mutualmente Exclusivos" + +#: ../../src/faq.md:324 a0687ce5c1f940538abc977cad83138f +msgid "" +"To properly set fields in a record input type, you need to pass a " +"dictionary to the input to properly set the parameters. This is done by " +"using inline JavaScript and returning the dictionary with the key of the " +"field you want to set. The source field is set to indicate the input from" +" the workflow to be used as the value." +msgstr "" + +#: ../../src/faq.md:342 12869ce2cdab4c858f3232c6158514f1 +#, fuzzy +msgid "How can I set Booleans?" +msgstr "Utilizando Booleans" + +#: ../../src/faq.md:344 8dcb88744e5840029de0e1bbf1c4b967 +msgid "These can be set by using the default field" +msgstr "Estes são definidos através do campo padrão" + +#: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 +#, fuzzy +msgid "What should I do when concatenating strings in inputs?" +msgstr "Concatenando Strings em Inputs" + +#: ../../src/faq.md:351 68f74afc21d846dd9070d45dec0cc1d8 +msgid "The valueFrom field must be used instead of default." +msgstr "O campo valueFrom deve ser utilizado ao invés do valor padrão." + +#: ../../src/faq.md:359 53b633c6f8644106beb95ae567eb0708 +#, fuzzy +msgid "" +"I get `cwltool` errors due to filenames with space characters inside. " +"What should I do?" +msgstr "Erros do `cwltool` devido a Nomes de Arquivos com Espaços" + +#: ../../src/faq.md:361 7101bb5cb69e4faca4e60eabb4eb258e +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "O `cwltool` não permite alguns caracteres em nomes de arquivos por padrão." + +#: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 +msgid "" +"For example, the filename `a space is here.txt` includes 3 space " +"characters." +msgstr "Por exemplo, o nome de arquivo `um espaco vai aqui.txt` inclui 3 espaços.." + +#: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 +msgid "" +"If you can not avoid these dangerous characters, then pass `--relax-path-" +"checks` to `cwltool`." +msgstr "" +"Se você não tem opção e precisa utilizar estes caracteres apesar do " +"risco, você deve então passar `--relax-path-verificks` ao chamar o " +"`cwltool`." + +#: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 +#, fuzzy +msgid "" +"What should I do when I get CWL Parameter Reference error due to hyphen " +"in an input identifier?" +msgstr "" +"Erro de Referência em Parâmetro CWL devido a Hífen no Identificador de " +"Entrada" + +#: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 +msgid "If `cwltool --validate` returns valid" +msgstr "Se `cwltool --validate` valida com sucesso" + +#: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 +msgid "But executing it causes an error like:" +msgstr "Mas ao executar o workflow um erro como o seguinte aparece:" + +#: ../../src/faq.md:396 2b96665acac449758b852bbe7600e007 +msgid "The file is here" +msgstr "Este é o arquivo" + +#: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec +msgid "Problem caused by `-` (hyphen character)." +msgstr "O problema é causado pelo `-` (hífen)." + +#: ../../src/faq.md:423 7780f461ca4c478b92fca893c0b0894a +#, fuzzy +msgid "To fix this error, change `-` (hyphen) to `_` (underscore):" +msgstr "Para corrigir este erro, substitua o `-` (hífen) por `_` (sublinhado)" + +#: ../../src/faq.md:436 88df56dfff854fc68fb6ad3835a846e4 +msgid "" +"If it is not possible to change the input identifier, then you can use an" +" alternative CWL Parameter Reference syntax:" +msgstr "" +"Se não for possível mudar o identificador do input, você pode reescrever " +"utilizando uma sintaxe alternativa para Referências de Parâmetros CWL:" + +#: ../../src/faq.md:442 fc407a9e8d8c4b699d9cd14b369343b5 +#, fuzzy +msgid "How do I use CWL and cwltool with Singularity?" +msgstr "Utilizar CWL e cwltool com Singularity" + +#: ../../src/faq.md:445 239f5f81cef042b08fb8015c36b3ecad +msgid "" +"The CWL standards are built around (optional) Docker format containers. " +"The reference runner and several other CWL implementations support " +"running those Docker format containers using the Singularity engine. " +"Directly specifying a Singularity format container is not part of the CWL" +" standards." +msgstr "" + +#: ../../src/faq.md:450 61641314d82b43e982e54c64c73232c5 +msgid "How do I debug the JavaScript in my CWL tool?" +msgstr "" + +#: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b +msgid "" +"You can use the --js-console option of cwltool," +" or you can try creating a JavaScript or TypeScript project for your " +"code, and load it using expressionLib, e.g.: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 1c9fb72b83c9467a9672943fb47ffe32 +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 aaa44578e27345e682ab44686b4da159 +msgid "" +"This guide will introduce you to writing workflows using the [Common " +"Workflow Language](https://www.commonwl.org/) (CWL) open standards. This " +"guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 0adfc2adb0c74372b25d197dd3a73b8b +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 96c8dca812f1415db7c5c006b0c0e022 +msgid "" +"If you find that something is missing from this guide, or if you would " +"like to provide other feedback, file an Issue on the [project repository " +"for this guide][repo]. You can also suggest changes directly in a Pull " +"Request by clicking the \"Edit this page\" button at the right sidebar of" +" each page." +msgstr "" + +#: ../../src/index.md:16 35c50bb5c3a345b4a4ae66b2df065376 +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 +msgid "" +"If you are a beginner user get started with the " +"[Introduction](/introduction/index.md) section. For advanced users the " +"subsections of the [Topics](/topics/index.md) have detailed information " +"about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 +msgid "" +"The Table of Contents is displayed at the top menu and also on the left " +"sidebar. It also appears further down this page but with links to " +"subsections. The right sidebar contains links to the sections of each " +"page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece +msgid "" +"This section describes the basic concepts for users to get started on " +"working with Common Workflow Language (CWL) workflows. Readers are " +"expected to be familiar with workflow managers, YAML, and comfortable " +"with following instructions for the command-line. The other sections of " +"the user guide cover the same concepts, but in more detail. If you are " +"already familiar with CWL or you are looking for more advanced content, " +"you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf +msgid "The CWL Specification" +msgstr "A Especificação CWL" + +#: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 +msgid "" +"The CWL specification is a document written and maintained by the CWL " +"community. The specification has different versions. The version covered " +"in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb +msgid "" +"The specification version can have up to three numbers separated by `.`s " +"(dots). The first number is the major release, used for backward-" +"incompatible changes like the removal of deprecated features. The second " +"number is the minor release, used for new features or smaller changes " +"that are backward-compatible. The last number is used for bug fixes, like" +" typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 +msgid "" +"The model used for the specification version is called Semantic " +"Versioning. See the end of this section to [learn more](#learn-more) " +"about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be +msgid "Implementations" +msgstr "Implementações" + +#: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 +msgid "" +"An implementation of the CWL specification is any software written " +"following what is defined in a version of the specification document. " +"However, implementations may not implement every aspect of the " +"specification. CWL implementations are licensed under both Open Source " +"and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d +msgid "" +"CWL is well suited for describing large-scale workflows in cluster, cloud" +" and high performance computing environments where tasks are scheduled in" +" parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: 1c1647a3496c4251a3193f94ee4e78c8 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 854633336f4d4fc394e62c53ce022c6b +msgid "" +"A process is a computing unit that takes inputs and produces outputs. The" +" behavior of a process can be affected by the inputs, requirements, and " +"hints. There are four types of processes defined in the CWL specification" +" {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 142a847f11d7462f8bf77bfe789410ca +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 7c7567fa690043f9b4b89bdf8ca60cad +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: 7afcf087d3ea49dabf1a641a2bb71b35 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 6399939602334819a20b92b957352a8a +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 8c55b15cebf142899045f229ccc86b1e +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: ec54c0e67e894bfba2d0fbb0f87ffdf4 +msgid "" +"A command-line tool is a wrapper for a command-line utility like `echo`, " +"`ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: c88ad26efa794cbeb6f0690aa0cad5ea +msgid "" +"An expression tool is a wrapper for a JavaScript expression. It can be " +"used to simplify workflows and command-line tools, moving common parts of" +" a workflow execution into reusable JavaScript code that takes inputs and" +" produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: 946825a7ea2c450eb3e41b5548670fb7 +msgid "" +"Operation is an abstract process that also takes inputs, produces " +"outputs, and can be used in a workflow. But it is a special operation not" +" so commonly used. It is discussed in the [Operations " +"section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 44aac23f302c4178accf7e431cfbb96c +msgid "" +"The workflow is a process that contains steps. Steps can be other " +"workflows (nested workflows), command-line tools, or expression tools. " +"The inputs of a workflow can be passed to any of its steps, while the " +"outputs produced by its steps can be used in the final output of the " +"workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 +msgid "" +"The CWL specification allows for implementations to provide extra " +"functionality and specify prerequisites to workflows through " +"*requirements*. There are many requirements defined in the CWL " +"specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: 07c5789c59224ed78a3ecd03cfe872e9 +msgid "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" +" - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 6f9854ae1b884ad39f88d2f39d66cb98 +msgid "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" +" - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 23fef6de073f4da18118e4d0512670fe +msgid "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement)" +" - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: fb3762f91177401ea624d1e716d67ae6 +msgid "" +"Some CWL runners may provide requirements that are not in the " +"specification. For example, GPU requirements are supported in `cwltool` " +"through the `cwltool:CUDARequirement` requirement, but it is not part of " +"the {{ cwl_version }} specification and may not be supported by other CWL" +" runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: b6a5cd431c324078a9a4e1513a14ee28 +msgid "" +"Hints are similar to requirements, but while requirements list features " +"that are required, hints list optional features. Requirements are " +"explained in detail in the [Requirements](../topics/requirements-and-" +"hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: 88d7bad84dd341d2abb33673b8b8f250 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: bcbf5d76cf5f47b2a9691b7d2d8ef891 +msgid "" +"The FAIR principles have laid a foundation for sharing and publishing " +"digital assets, and in particular, data. The FAIR principles emphasize " +"machine accessibility and that all digital assets should be Findable, " +"Accessible, Interoperable, and Reusable. Workflows encode the methods by " +"which the scientific process is conducted and via which data are created." +" It is thus important that workflows both support the creation of FAIR " +"data and themselves adhere to the FAIR principles. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community" +" Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 +msgid "" +"CWL has roots in \"make\" and many similar tools that determine order of " +"execution, based on dependencies between tasks. However, unlike \"make\"," +" CWL tasks are isolated, and you must be explicit about your inputs and " +"outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: c0f53138bf084939a54b0a576b44199f +msgid "" +"The benefit of explicitness and isolation are flexibility, portability, " +"and scalability; tools and workflows described with CWL can transparently" +" leverage technologies such as Docker and be used with CWL " +"implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 91d6eb4984a6410ba99616b6617ba9af +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:183 +#: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 +#: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 +msgid "Learn More" +msgstr "Saiba Mais" + +#: ../../src/introduction/basic-concepts.md:180 +#: 7221a89559944627b4c3db37f468f72c +msgid "Semantic Versioning - " +msgstr "Versionamento Semântico - " + +#: ../../src/introduction/basic-concepts.md:181 +#: bccf086fc9514f76b60dc161e3a09da3 +msgid "" +"The CWL Specification page in the CWL website: " +"" +msgstr "" +"A página web da Especificação CWL: " +"" + +#: ../../src/introduction/basic-concepts.md:182 +#: a5b37924c7d04ab984ff2542847afc4a +msgid "" +"The Command Line Tool Description Standard: " +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 44af015fa36644b99f07338d241d29c1 +msgid "" +"The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"A especificação CWL atual no GitHub: {{ ''.format(cwl_version_text) }}" + +#: ../../src/introduction/basic-concepts.md:184 +#: bffca993172048a4b7ab7c62637662e2 +msgid "" +"The list of Implementations in the CWL website: " +"" +msgstr "" +"A lista de Implementações na página web da CWL: " +"" + +#: ../../src/introduction/basic-concepts.md:185 +#: 84c61946406347c8b138772909110d54 +msgid "PROV-O: The PROV Ontology - " +msgstr "PROV-O: A Ontologia PROV - " + +#: ../../src/introduction/basic-concepts.md:186 +#: eb0b6a62e06143eabc7b92acff9643ea +msgid "" +"CWL Operations are covered in the [Operations](../topics/operations.md) " +"section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 +msgid "Introduction" +msgstr "Introdução" + +#: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df +msgid "" +"This section will guide you through a short introduction to CWL, the " +"prerequisites for following this user guide, and some basic concepts that" +" are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e +msgid "Prerequisites" +msgstr "Pré-requisitos" + +#: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 +msgid "" +"The software and configurations listed in this section are prerequisites " +"for following this user guide. The CWL standards are implemented by many " +"different workflow runners and platforms. This list of requirements " +"focuses on the CWL reference runner, `cwltool`. You can use another CWL-" +"compatible runner or workflow system, but the results and interface may " +"look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 +msgid "CWL Implementations" +msgstr "Implementações da CWL" + +#: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 +msgid "" +"There are many implementations of the CWL standards. Some are complete " +"CWL runners, while others could be plug-ins or extensions to workflow " +"engines. We have a better explanation in the [Implementations](basic-" +"concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 209a0018e7da48f09b27dc507ba14d24 +msgid "" +"We recommend using an up-to-date operating system. You can choose any of " +"the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 +msgid "Linux" +msgstr "Linux" + +#: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b +msgid "macOS" +msgstr "macOS" + +#: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 +msgid "Windows" +msgstr "Windows" + +#: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c +msgid "" +"If you are using Windows, you will have to install the Windows Subsystem " +"for Linux 2 as documented in the [`cwltool` documentation for Microsoft " +"Windows users](https://github.com/common-workflow-" +"language/cwltool/blob/main/README.rst#ms-windows-users). Your operating " +"system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 +msgid "" +"The first thing you will need for running CWL workflows is a CWL runner. " +"`cwltool` is a Python Open Source project maintained by the CWL " +"community. It is also the CWL reference runner, which means it must " +"support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:44 068f09d4d66547448693f7b9dadef497 +msgid "" +"`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend " +"using a virtual environment like `venv` or `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 +#, fuzzy +msgid "" +"Visit the `cwltool` " +"[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " +"details on installing `cwltool`." +msgstr "" +"Visite a [documentação](https://github.com/common-workflow-" +"language/cwltool#install) do `cwltool` para outras opções para instalar " +"`cwltool` com `apt` e `conda`." + +#: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" +"Vamos usar uma simples descrição de ferramenta CWL `true.cwl` com " +"`cwltool`." + +#: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a +msgid "`true.cwl`" +msgstr "`true.cwl`" + +#: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 +msgid "" +"The `cwltool` command has an option to validate CWL tool and workflow " +"descriptions. This option will parse the CWL document, look for syntax " +"errors, and verify that the workflow descriptions are compliant with the " +"CWL standards. However, these actions will be performed without running " +"the document. To validate CWL workflows (or even a standalone command " +"line tool description like the above) pass the `--validate` option to the" +" `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac +msgid "Generic ``cwl-runner`` alias" +msgstr "" + +#: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 +msgid "" +"`cwl-runner` is an implementation-agnostic alias for any CWL compliant " +"runner. This simply means that the `cwl-runner` alias command can be " +"invoked independently, and is not reliant on a particular CWL runner " +"program name. Users can invoke `cwl-runner` instead of invoking a CWL " +"runner like `cwltool` directly. The `cwl-runner` is installed by a system" +" administrator or user to point to the preferred CWL implementation. This" +" is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:88 6dd6aa836099469381fb564d63b84f3d +msgid "" +"The CWL community publishes a Python package with the name `cwlref-" +"runner` that installs an alias for `cwltool` under the name `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 +msgid "" +"Now you can validate and run your workflow with the `cwl-runner` " +"executable, which will invoke `cwltool`. You should have the same results" +" and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "Executando `true.cwl` com `cwl-runner`." + +#: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c +msgid "" +"Another way to execute `cwl-runner` is by invoking the file directly. For" +" that, the first thing you need to do is copy `true.cwl` workflow into a " +"new file: `true_shebang.cwl`, and include a special first line, a " +"*shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:122 4f3cb8d1f9ce4e3d852e81aa4e0f60be +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa +msgid "" +"And finally, you can execute it directly in the command-line. On " +"execution, the program specified in the shebang (`cwl-runner`) will be " +"used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 +msgid "" +"The *shebang* is the two-character sequence `#!` at the beginning of a " +"script. When the script is executable, the operating system will execute " +"the script using the executable specified after the shebang. It is " +"considered a good practice to use `/usr/bin/env [executable]` rather than" +" using a hard-coded location, since `/usr/bin/env [executable]` looks for" +" the `[executable]` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 +msgid "Text Editor" +msgstr "Editor de Texto" + +#: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f +msgid "" +"You can use any text editor with CWL, but for syntax highlighting we " +"recommend an editor with YAML support. Popular editors are Visual Studio " +"Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 +msgid "" +"There are extensions for Visual Studio Code and WebStorm that provide " +"integration with CWL, and features such as customized syntax highlighting" +" and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b +msgid "" +"Visual Studio Code with the Benten (CWL) plugin - " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca +msgid "" +"cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 +msgid "" +"The CWL community also maintains a list of editors and viewers: " +"" +msgstr "" + +#: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe +msgid "" +"`cwltool` uses Docker to run tools, workflows, and workflow steps that " +"specify a software container. Follow the instructions in the Docker " +"documentation to install it for your operating system: " +"." +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 +msgid "" +"You do not need to know how to write and build Docker containers. In the " +"rest of the user guide, we will use existing Docker images for running " +"examples, and to clarify the differences between the execution models " +"with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc +msgid "" +"`cwltool` supports running containers with Docker, Podman, udocker, and " +"Singularity. You can also use alternative container registries for " +"pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 +msgid "" +"The [Implementations](basic-concepts.md#implementations) topic in the " +"next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 +msgid "" +"This section will show you a brief overview of what CWL is, and where you" +" can learn more about it. No previous knowledge of CWL is required, but " +"you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b +msgid "" +"CWL documents are written in [YAML](../topics/index.md) (and/or JSON). " +"The example below shows a simple CWL “Hello World” workflow annotated " +"with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e +msgid "" +"The example above is just a wrapper for the `echo` command-line tool. " +"Running the workflow above with the default input values will produce the" +" same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 +msgid "" +"In CWL, there is a distinction between a command-line tool and a " +"workflow. But for the sake of simplicity, we are using the term " +"“workflow” here. You will learn more about this in the [basic concepts" +"](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 +msgid "" +"`cwltool` is an implementation of the CWL specification. It is also the " +"CWL *Reference Runner* for the specification, and it is compliant with " +"the latest version of the specification: {{ cwl_version }}. You can " +"install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 +msgid "Installing `cwltool` with `pip`." +msgstr "Instalando `cwltool` com `pip`." + +#: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e +msgid "" +"If installing the cwltool using the pip command doesn't work for you, the" +" [prerequisites](prerequisites.md) section contains other ways to install" +" `cwltool` and a more detailed list of software and libraries used for " +"following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 +msgid "Running \"Hello World\"" +msgstr "Executando \"Hello World\"" + +#: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd +msgid "" +"The usage of the `cwltool` command-line executable is basically `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " +"`hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "Executando `hello_world.cwl` com `cwltool`." + +#: ../../src/introduction/quick-start.md:62 4306d8ad802f45c18487d932d04492fa +msgid "" +"Or you can override the default value of the input parameter `message`, " +"similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 +msgid "" +"Another way of passing values to your workflow input parameters is via an" +" *Inputs Object*. This is a file containing the input fields with their " +"corresponding values. The Inputs Objects file can be written in JSON or " +"YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 c5983ba6c86f4b749522c11cb3843911 +msgid "" +"You can use this Inputs Object file now to execute the “Hello World” " +"workflow:" +msgstr "" +"Pode utilizar este arquivo de Objetos de Inputs agora para executar o " +"workflow “Hello World”:" + +#: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "Passando um arquivo de Objeto de Inputs para o `cwltool`." + +#: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 +msgid "" +"We used a similar file name for the workflow and for the Inputs Object " +"files. The *-job.json* suffix is very common in Inputs Object files, but " +"it is not a requirement. You can choose any name for your workflows and " +"Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e +msgid "Continue reading the next sections of this User Guide!" +msgstr "Continue lendo as secções seguintes deste Guia do Utilizador!" + +#: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" +"[Lista das Implementações da " +"CWL](https://www.commonwl.org/implementations)." + +#: ../../src/introduction/quick-start.md:98 1c888f1b771d49b3a257ed534b5afa0a +msgid "" +"The [`common-workflow-language` organization](https://github.com/common-" +"workflow-language) at GitHub." +msgstr "" +"A [organização`common-workflow-language`](https://github.com/common-" +"workflow-language) no GitHub." + +#: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 +msgid "" +"[Common Workflow Language at " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[Common Workflow Language na " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." + +#: ../../src/introduction/quick-start.md:100 dc714ffd4278421b9f2417f41627722c +msgid "" +"[YAML.org](http://yaml.org/) and [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) e [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." + +#: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa +msgid "" +"The {{'[CWL Specification " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." +msgstr "" +"A {{'[Especificação CWL " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." + +#: ../../src/introduction/quick-start.md:102 936a7dfab11a4f2c82c0b59964e3ea28 +msgid "" +"[Workflow management system at " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" +"[Workflow management system na " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." + +#: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. The information on this page has been migrated to the " +"[FAQ](/faq.md) section of the new user guide." +msgstr "" +"O conteúdo desta página está desatualizado mas foi mantido aqui para " +"preservar os links do antigo Guia do Utilizador. A informação desta " +"página foi migrada para a secção [FAQ](/faq.md) do novo guia do " +"utilizador." + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 3843684b039a40dea163de951ca56738 +msgid "Additional Arguments and Parameters" +msgstr "Argumentos e Parâmetros Adicionais" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: a6fd1842b938435aa2a3c889019eec71 +msgid "" +"Sometimes tools require additional command line options that don't " +"correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: dfed0747ed544547afd364086d828c9b +msgid "" +"In this example, we will wrap the Java compiler to compile a java source " +"file to a class file. By default, \"javac\" will create the class files " +"in the same directory as the source file. However, CWL input files (and " +"the directories in which they appear) may be read-only, so we need to " +"instruct \"javac\" to write the class file to the designated output " +"directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: e690b567eae34f3f8dbdd7760e51449a +msgid "`arguments.cwl`" +msgstr "`arguments.cwl`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 4cee519b108143be89a0e47a75d7d649 +#: 79585673fd654bab9ba7c1927d7e153b +msgid "`arguments-job.yml`" +msgstr "`arguments-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: ef070ebe5f7245489b05660fb6d7c178 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" +"Em seguida, crie um arquivo Java de exemplo para usar com a ferramenta de" +" linha de comando." + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 4ae43e3e841442039e4bb8c740096c56 +msgid "" +"And now invoke `cwltool` providing the tool description and the input " +"object on the command line:" +msgstr "" +"E agora execute `cwltool` utilizando a descrição de ferramenta e o objeto" +" de input na linha de comando:" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 8497291577914eb3a172c1ffb736d95d +msgid "" +"Here we use the `arguments` field to add an additional argument to the " +"command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: dc9fa5f2cbb147b1853c4042c54010f3 +msgid "" +"This example references a runtime parameter. Runtime parameters provide " +"information about the hardware or software environment when the tool is " +"actually executed. The `$(runtime.outdir)` parameter is the path to the " +"designated output directory. Other parameters include " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " +"Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe +msgid "Best Practices" +msgstr "Melhores Práticas" + +#: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +msgid "" +"The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 2292670347cd4549bc6a51e972de0ef4 +msgid "" +"No `type: string` parameters for names of input or reference " +"files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +msgid "" +"A CWL document (in conjunction with any external components like " +"`Dockerfile`s) is software code. Workflow developers should be aware that" +" the usual rules of software licensing apply to this document. For " +"example, if the workflow is shared publicly, licensing terms must be " +"clear so that a future user understands under what conditions they can " +"run the workflow, modify it and/or combine it with other workflows. For " +"this reason, please consider including a license field in the document. " +"The authors of this guide urge you to choose a pre-existing license " +"rather than trying to write your own (see the link below to learn more " +"about choosing a license), and our recommended practice is to choose a " +"license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" +"license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +msgid "" +"If possible, the license should be specified with its corresponding [SPDX" +" identifier][spdx]. Construct the metadata field for the license by " +"providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where " +"`SPDX-ID` is taken from the list of identifiers linked above. See the " +"example snippet below for guidance. For non-standard licenses without an " +"SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b +msgid "" +"Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" +"Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 5b976a5aec7d44bda55b0a019e955416 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 +msgid "" +"For more examples of providing metadata within CWL descriptions, see [the" +" Metadata and Authorship section of this User Guide](../topics/metadata-" +"and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be +msgid "" +"Include [attribution information][license-example] for the author(s) of " +"the CWL tool or workflow description. Use unambiguous identifiers like " +"[ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 87030aef02044b8283c76debab4772bf +msgid "" +"In tool descriptions, list dependencies using short name(s) under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:47 6c9eaae099fa4ca4b0986b1c4146df50 +msgid "" +"Include [SciCrunch][scicrunch] identifiers for dependencies in " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc +msgid "" +"All `input` and `output` identifiers should reflect their conceptual " +"identity. Use informative names like `unaligned_sequences`, " +"`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " +"`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a +msgid "" +"In tool descriptions, include a list of version(s) of the tool that are " +"known to work with this description under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" + +#: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 +msgid "" +"`format` should be specified for all input and output `File`s. " +"Bioinformatics tools should use format identifiers from [EDAM][edam-" +"example]. 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][iana-types] (also known as MIME " +"types). For non-bioinformatics tools, use or build an appropriate " +"ontology/controlled vocabulary in the same way. Please edit this page to " +"let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 +msgid "" +"Mark all input and output `File`s that are read from or written to in a " +"streaming compatible way (only once, no random-access), as `streamable: " +"true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 +msgid "" +"Each " +"[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool)" +" description should focus on a single operation only, even if the " +"(sub)command is capable of more. Don't overcomplicate your tool " +"descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d +msgid "" +"Custom types should be defined with one external YAML per type definition" +" for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 +msgid "" +"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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 d92013d662b44dbf8875e06c9dfbfd79 +msgid "" +"Use `type: enum` instead of `type: string` for elements with a fixed list" +" of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf +msgid "" +"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][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 e22fbacdb2fb4202b1bd69cfc24af5cd +msgid "" +"Give the tool description to a colleague (preferably at a different " +"institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 +msgid "" +"Complex workflows with individual components which can be abstracted " +"should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" +" their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab +msgid "" +"Software containers should be made to be conformant to the " +"[\"Recommendations for the packaging and containerizing of bioinformatics" +" software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e +msgid "" +"A command-line tool is a type of Process object that can be run by itself" +" or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, " +"`tar`, etc. The command-line tool is defined in the `baseCommand` " +"attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 +msgid "" +"A CWL command-line tool must also have `inputs` and `outputs`. The " +"following example contains a minimal example of a CWL command-line tool " +"for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f +msgid "" +"The example above uses a simplified form to define inputs and outputs. " +"You will learn more about in the [Inputs](../topics/inputs.md) and in the" +" [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 +msgid "" +"This indicates whether a process requires outgoing IPv4/IPv6 network " +"access. Starting with CWL v1.1, programs are not granted network access " +"by default, so you must include the requirement for network access in the" +" specification of your tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:84 3282a357799f4a72a6b8bace206144c4 +msgid "" +"CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 or v1.2 " +"will have `networkAccess: true` set automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: 17c5b4ee43cc4a979676ad27e473d046 +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: cd0dff10471c4ad2b84e3a0e4d7767ea +msgid "" +"Sometimes you need to create a file on the fly from input parameters, " +"such as tools that expect to read their input configuration from a file " +"rather than the command line parameters, or need a small wrapper shell " +"script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: bf4aea0a22334a1ca75cc20e937e6581 +msgid "" +"To generate such files, we can use the " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: 008f768d56b8465bb4e8f4fde15853a7 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: 252f8e897b0942a8be098481890005f3 +msgid "" +"Any [expressions](../topics/expressions.md) like `$(inputs.message)` are " +"expanded by the CWL engine before creating the file. Here, insert the " +"value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: aca24b72687c4d4d84bf9de8b71413f7 +msgid "" +"The _CWL expressions_ are independent of any _shell variables_ used later" +" during command line tool invocation. That means that any genuine need " +"for the character `$` must be **escaped** with `\\`. For instance, " +"`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " +"be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 750b3232e8754448bc2b5913539495b8 +msgid "" +"To test the above CWL tool, use this job to provide the input value " +"`message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 ../../src/topics/outputs.md:81 +#: 687c8a84bade43269f3cd767d32f9f47 81da7a18fe8d4659abc883cf43009f1f +#: d5d67eae63304ebb9b242133feacb0d1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: c4f964450d014734877fb3c968353a74 +msgid "" +"Before we run this, let us look at each step in a little more detail. The" +" base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " +"command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 9aeea5a6a4244bc7a1626e0cb7351068 +msgid "" +"`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a " +"YAML array, we need a `-` on the first line of each element of the array," +" in this case we have just one element. `entryname:` can have any value, " +"but it must match what was specified in the `baseCommand`. The final part" +" is `entry:`, this is followed by `|-` which is YAML quoting syntax, and " +"means that you are using a multiline string (without it, we would need to" +" write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 867239e9ad3d4187a2703662a0ca3976 +msgid "" +"See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " +"formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 ../../src/topics/workflows.md:198 +#: 0d7151b9f0194197bd686fe6c9c47afd 78bb40eeeda24d7b923162daa45d51a7 +#: 7b341a317347482ca86fc56119c3686f 7c637fa62cab4d0dbe670a3b72737cc9 +#: cfb4605a01dd4475aabcc086a4e65957 +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 +msgid "" +"Sometimes you may want to write your own custom types for use and reuse " +"in CWL descriptions. Use of such custom types can reduce redundancy " +"between multiple descriptions that all use the same type, and also allow " +"for additional customisation/configuration of a tool/analysis without the" +" need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 8367e38e5e7c4a298d1d87b9001aaddc +msgid "" +"The example below is a CWL description of the [biom convert format][biom]" +" tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 +msgid "" +"___Note:___ To follow the example below, you need to [download the " +"example input file](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " +"`wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 a48539920c4944898918bc90b2d4e3c9 +msgid "" +"On line 29, in `inputs:table_type`, a list of allowable table options to " +"be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 +msgid "" +"The reference to a custom type is a combination of the name of the file " +"in which the object is defined (`biom-convert-table.yaml`) and the name " +"of the object within that file (`table_type`) that defines the custom " +"type. In this case the `symbols` array from the imported `biom-convert-" +"table.yaml` file define the allowable table options. For example, in " +"`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" +" to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd +msgid "" +"In order for the custom type to be used in the CWL description, it must " +"be imported. Imports are described in " +"`requirements:SchemaDefRequirement`, as below in the example `custom-" +"types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 +msgid "" +"Note also that the author of this CWL description has also included " +"[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s," +" specifying the minimum amount of RAM and number of cores required for " +"the tool to run successfully, as well as details of the version of the " +"software that the description was written for and other useful metadata. " +"These features are discussed further in other chapters of this user " +"guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d +msgid "" +"Tools run in a restricted environment and do not inherit most environment" +" variables from the parent process. You can set environment variables " +"for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +msgid "" +"An expression tool is a type of Process that can be run by itself or as a" +" Workflow step. It executes a pure JavaScript expression. It is meant to " +"be used as a way to isolate complex JavaScript expressions that need to " +"operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +msgid "" +"Similar to the command-line tool it requires `inputs` and `outputs`. But " +"instead of `baseCommand`, it requires an " +"[`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional))" +" attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +msgid "" +"We had to use an " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" as our expression contains a JavaScript call in `.toUpperCase()`. This " +"means to tools using the expression tool that JavaScript is a " +"requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec +msgid "" +"If you need to manipulate input parameters, include the requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" and then anywhere a parameter reference is legal you can provide a " +"fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +msgid "" +"JavaScript expressions should only be used when absolutely necessary. " +"When manipulating file names, extensions, paths etc, consider whether one" +" of the [built in `File` properties][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc, could be used instead. See the [list of best " +"practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 72a0558a83964796a8c1a0eb55fd78e8 +msgid "" +"As this tool does not require any `inputs` we can run it with an (almost)" +" empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +msgid "" +"`empty.yml` contains a description of an empty JSON object. JSON objects " +"descriptions are contained inside curly brackets `{}`, so an empty object" +" is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 f6f64d57a50742b19b801c14806ee18a +msgid "" +"Note that requirements can be provided with the map syntax, as in the " +"example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 +msgid "" +"Or as an array, with each entry (in this case, only `class: " +"InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" +" describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 8c3b402c40f64880a4bd42c47b910254 +msgid "" +"Just like [parameter references](parameter-references.md), you can use " +"JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc +msgid "" +"From " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 7ab0dbd54c1441539673fa12ef96b89e +#: e76c6ece0c594fefa86b190879c5acaa +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 0209558b1013471eb708698537edaf06 +#: 4458393fdb0e451f9806e91122ea2534 594a163e08f04aa5a04a44a303a1c643 +#: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 +#: af2cdb5f66ac4fd5b8f91258f005cc62 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e +#: f9a6718845e24f46b76fcc8ab26eec7a +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 +#: 7f5ce097ca0442a6a200599342a6e24b +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 +#: 7b14686e16eb4f488659b22d67ec3bfa +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 +msgid "" +"From " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 24f27702d0684bc98e3232103510232e +#: 26a8dff7b80c4e059f1e20eef9da6203 476aa37af5214bcf963c7aab1f859273 +#: 4b0a0cd934bd41b4b55c034b91392bc7 5182e2165e44429287b4d924c2f896a4 +#: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 +#: b301751f90af4700bbada5e5b166be35 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 2c2b8db396b04ace8aa396c0a5a4858f +#: 33a9b77ce15b4910962a7f08bd2f47a3 57cba0191de3470bbe112ed2a0d3f252 +#: 6efe998094b3469eae61cfff551b1eb1 776de1ecfafc41ada7e916addd7229fd +#: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 +#: faa7d521fec240748407d03ffdb93aa0 +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a +msgid "" +"From " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 0e2052e16f6a41b8983dc64b4b3a7586 +msgid "" +"From " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 dff31dd961d540e3b8cd1247e978d60e +msgid "" +"From " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 249aba7c38ce49379b9d35e7ad81a0bf +#: 5a354eb4883948e0a2b5c96b5ae12da7 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df +#: 9e477e2cfab24861b517fe2fb52962f4 +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 9448462d104b4be5904623c85a9e16b7 +#: bf11a7a72147445c9b8e44b541e09f36 +msgid "From [`Workflow`](https://w3id.org/cwl/Workflow.html)" +msgstr "" + +#: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 7918d0661be746faaddf25ad49172f30 +#: b8439dbaa949427097e25ccb48fe15ee +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 +msgid "" +"From " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 +#: ab1ba7626eae483a8b614ee4cd5bab6f +msgid "" +"From " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 595b9ddcee734d6595c1b4b2d169dcb8 +#: 80b55c77a4384644acfc9472c3cedee0 +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 32b1a39cca1a4402af9bdc0abc4d70c8 +msgid "" +"From " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 2518d499801e4bcf82e9e4666280504d +#: 98a511d138e9497c923963c2ca5f0a0b +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b +#: e84bc5505a6549ae9aacde8cb9225403 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 +#: e698ea756fe94e99837312fb30c9f9bf +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 +#: bef90c153d4f4397b1f69f9beb38f7e6 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd +#: e2bdf4fe676346cbb4443ee54fb7419b +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 +#: 8f1665baca2e4e3b96026b50d132709a +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 +#: d169949866a24e31947dffcb94620c5f +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc +msgid "" +"From " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 21e9582891cf4b87a7ee4693663040fa 51bc6d1ccef14729a0d5e63b56d73d20 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: 29c2424fc7dc43e68c9bfee179167bb3 30f25141bcce4670882e4a5bbe4fc3e2 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f +msgid "" +"From " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 242a12ec757947db894195c9aefba818 7b26b9972f7141bf950b3bb024b0e369 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +msgid "" +"The requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" supports an `expressionLib` attribute that allows users to load external" +" JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +msgid "" +"Entries added to the `expressionLib` attribute are parsed with the " +"JavaScript engine of a CWL runner. This can be used to include external " +"files or to create JavaScript functions that can be called in other parts" +" of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 +msgid "" +"The CWL standards (versions 1.0 through 1.2) " +"[states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)" +" that the only version of JavaScript valid in CWL expressions is " +"[ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means " +"that any code that you include or write in your CWL Document must be " +"compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe +msgid "" +"For example, we can use `InlineJavascriptRequirement` and write a " +"JavaScript function inline in `expressionLib`. That function can then be " +"used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 +msgid "" +"Running this CWL workflow will invoke the JavaScript function and result " +"in the `echo` command printing the input message with capital initial " +"letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 1a4dfef06b5c4402bdb7e7dbd79eeb5d +msgid "" +"Let's move the `capitalizeWords` function to an external file, `custom-" +"functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +msgid "" +"The `custom-functions.js` file is included in the CWL document with the " +"`$include: custom-functions.js` statement. That makes the functions and " +"variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +msgid "" +"Finally, note that you can have both inline and external JavaScript code " +"in your CWL document. In this final example we have added another entry " +"to the `expressionLib` attribute with the new function " +"`createHelloWorldMessage`, that calls the `capitalizeWords` function from" +" the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 +msgid "" +"The `$include` statement can be used to include a file from the local " +"disk or from a remote location. It works with both relative and absolute " +"paths. Read the [text about " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " +"the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +msgid "" +"Tools and workflows can take " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " +"and produce them as output. We also recommend indicating the format for " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This " +"helps document for others how to use your tool while allowing you to do " +"some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 +msgid "" +"For file formats, we recommend referencing existing ontologies (like EDAM" +" in our example), reference a local ontology for your institution, or do " +"not add a file format initially for quick development before sharing your" +" tool with others. You can browse existing [IANA file format " +"listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 +msgid "" +"In the next tutorial, we explain the `$namespaces` and `$schemas` " +"section of the document in greater detail, so don't worry about these for" +" now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 c04841dbf4be4cf8a22cceca8b08bd14 +msgid "" +"Note that for added value `cwltool` can do some basic reasoning based on " +"file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: 20e97d58596a4a959ad76ec6128ac414 4e070ae9110d437bbf008b0c60a00cd5 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 +msgid "" +"Below is an example of a parameter file for the example above. We " +"encourage checking in working examples of parameter files for your tool. " +"This allows others to quickly work with your tool, starting from a " +"\"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 +msgid "`sample.yml`" +msgstr "`sample.yml`" + +#: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 +msgid "" +"___Note:___ To follow the example below, you need to download the example" +" input file, *file-formats.bam*. The file is available from " +" and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 +msgid "" +"The `inputs` of a tool is a list of input parameters that control how to " +"run the tool. Each parameter has an `id` for the name of parameter, and " +"`type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb +msgid "" +"Available primitive types are *string*, *boolean*, *int*, *long*, " +"*float*, *double*, and *null*; complex types are *array* and *record*; in" +" addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 fbdf2c1bed3e41d7a41ec6b14d134a98 +msgid "" +"The following example demonstrates some input parameters with different " +"types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 9cc4a60d01f945aa9b4c43afcf20098b +msgid "" +"You can use `cwltool` to create a template input object. That saves you " +"from having to type all the input parameters in an input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 +msgid "" +"You can redirect the output to a file, i.e. `cwltool --make-template " +"inp.cwl > inp-job.yml`, and then modify the default values with your " +"desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 6a3edb0d259d4d7c900dd9811f978d4e +msgid "" +"Notice that \"example_file\", as a `File` type, must be provided as an " +"object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 f1d76be7ba0b48f4b605581d0a9a5c72 +msgid "" +"Next, create a whale.txt using [touch] by typing `touch whale.txt` on the" +" command line." +msgstr "" +"Em sequência, cria um arquivo chamado whale.txt utilizando [touch] " +"digitando `touch whale.txt` na linha de comando." + +#: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line, using the command `cwltool inp.cwl inp-job.yml`. The " +"following boxed text describes these two commands and the expected output" +" from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 +msgid "" +"The CWL reference runner (cwltool) and other runners create temporary " +"directories with symbolic (\"soft\") links to your input files to ensure " +"that the tools aren't accidentally accessing files that were not " +"explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 +msgid "" +"The field " +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)" +" is optional and indicates whether and how the input parameter should " +"appear on the tool's command line. If `inputBinding` is missing, the " +"parameter does not appear on the command line. Let's look at each " +"example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 +msgid "" +"Boolean types are treated as a flag. If the input parameter " +"\"example_flag\" is \"true\", then `prefix` will be added to the command " +"line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d +msgid "" +"String types appear on the command line as literal values. The `prefix` " +"is optional, if provided, it appears as a separate argument on the " +"command line before the parameter . In the example above, this is " +"rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 +msgid "" +"Integer (and floating point) types appear on the command line with " +"decimal text representation. When the option `separate` is false (the " +"default value is true), the prefix and value are combined into a single " +"argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 +msgid "" +"File types appear on the command line as the path to the file. When the " +"parameter type ends with a question mark `?` it indicates that the " +"parameter is optional. In the example above, this is rendered as " +"`--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" " +"parameter were not provided in the input, nothing would appear on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 9294c07c672b414f9c3895ed70b9b4ee +msgid "" +"Input files are read-only. If you wish to update an input file, you must" +" [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f +msgid "" +"The value of `position` is used to determine where parameter should " +"appear on the command line. Positions are relative to one another, not " +"absolute. As a result, positions do not have to be sequential, three " +"parameters with positions 1, 3, 5 will result in the same command line as" +" 1, 2, 3. More than one parameter can have the same position (ties are " +"broken using the parameter name), and the position field itself is " +"optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 +msgid "" +"The `baseCommand` field will always appear in the final command line " +"before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 +msgid "" +"It is easy to add arrays of input parameters represented to the command " +"line. There are two ways to specify an array parameter. First is to " +"provide `type` field with `type: array` and `items` defining the valid " +"data types that may appear in the array. Alternatively, brackets `[]` may" +" be added after the type name to indicate that input parameter is array " +"of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 +#: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 +#: 390384208d7b4771888f164b587c7b9a edb3ae59c48945f29c3086b16a5265d3 +msgid "" +"Now invoke `cwltool` providing the tool description and the input object " +"on the command line:" +msgstr "" +"Agora chame o `cwltool` passando a descrição da ferramenta e o objeto de " +"entrada na linha de comando:" + +#: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 +msgid "" +"The `inputBinding` can appear either on the outer array parameter " +"definition or the inner array element definition, and these produce " +"different behavior when constructing the command line, as shown above. In" +" addition, the `itemSeparator` field, if provided, specifies that array " +"values should be concatenated into a single argument separated by the " +"item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df +msgid "" +"Note that the arrays of inputs are specified inside square brackets `[]` " +"in `array-inputs-job.yml`. Arrays can also be expressed over multiple " +"lines, where array values that are not defined with an associated key are" +" marked by a leading `-`. This will be demonstrated in the next lesson " +"and is discussed in more detail in the [YAML Guide](yaml-" +"guide.md#arrays). You can specify arrays of arrays, arrays of records, " +"and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 +msgid "" +"Sometimes an underlying tool has several arguments that must be provided " +"together (they are dependent) or several arguments that cannot be " +"provided together (they are exclusive). You can use records and type " +"unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 ecfb1d911a84400ba3db12fd0adf9279 +msgid "" +"In the first example, you can't provide `itemA` without also providing " +"`itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba +msgid "" +"In the second example, `itemC` and `itemD` are exclusive, so only the " +"first matching item (`itemC`) is added to the command line and remaining " +"item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 e6d81d6549984689bae4533c6d01bd5b +msgid "" +"In the third example, only `itemD` is provided, so it appears on the " +"command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b +msgid "" +"If you use exclusive input parameters and reference them in expressions, " +"you need to be aware that the `inputs` JavaScript object will contain one" +" of the possible, mutually-exclusive input values. Because the types of " +"these exclusive values may differ, you may need to check which type is in" +" use when you reference the properties of the `input` object." +msgstr "" + +#: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 +msgid "" +"Let's use an example that contains an exclusive `file_format` input " +"parameter that accepts `null` (i.e. no value provided), or any value from" +" an enum." +msgstr "" + +#: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`exclusive-parameter-expressions.cwl`" + +#: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +msgid "" +"Note how the JavaScript expression uses the value of the exclusive input " +"parameter without taking into consideration a `null` value. If you " +"provide a valid value, such as `fasta` (one of the possible values of the" +" enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +msgid "" +"However, if you do not provide any input value, then `file_format` will " +"be evaluated to `null`, which does not match the expected type for the " +"output field (a `string`), resulting in failure when running your " +"workflow." +msgstr "" + +#: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 +msgid "" +"To correct it, you should explicitly handle the possibility of a `null` " +"value. For example, the expression could be changed to " +"`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " +"none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 +msgid "" +"Here, the boolean “or” operator `||` in JavaScript is used for its " +"_short-circuiting_ property. If `inputs.file_format` is “true” in a " +"boolean context (e.g. a valid non-empty string from the enum), the " +"evaluation of the expression stops at the first operand of `||`; it " +"“short-circuits”. If however `inputs.file_format` is `null`, the whole " +"expression’s value becomes that of the second operand, which is why a " +"reasonable default can be provided there." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: 723c2232310c4276aeac2bd6728d2912 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: 4d81aac1830045229e5c60c7959074d8 +msgid "" +"Implementation extensions not required for correct execution (for " +"example, fields related to GUI presentation) and metadata about the tool " +"or workflow itself (for example, authorship for use in citations) may be " +"provided as additional fields on any object. Such extensions fields (e.g." +" `format: edam:format_2572`) can use a namespace prefix listed in the " +"`$namespaces` section of the document (e.g. edam: " +"http://edamontology.org/)%20as%20described%20in%20the%20[Schema%20Salad%20specification" +"][schema-salad]. Once you add the namespace prefix, you can access it " +"anywhere in the document as shown below. Otherwise, one must use full " +"URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 368f8993ae9d401488081d74ae5acd49 +msgid "" +"For all developers, we recommend the following minimal metadata for your " +"tool and workflows. This example includes metadata allowing others to " +"cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: c80f2b180ca74afb8a1fc18f8686304b +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: 37b07ea9b7124842b8ba3040f70308e9 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: 1cd5989ade6741aabe625c13bed3c8ed +msgid "" +"For those that are highly motivated, it is also possible to annotate your" +" tool with a much larger amount of metadata. This example includes EDAM " +"ontology tags as keywords (allowing the grouping of related tools), hints" +" at hardware requirements in order to use the tool, and a few more " +"metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: ae7369ba14404d23b72d1ef30dcd4153 +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e +msgid "" +"An Operation is a type of CWL process, just like a workflow, a command-" +"line tool, or an expression tool. It is a step of a workflow that " +"specifies inputs and outputs, but it does not provide enough information " +"to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 047b09455db64524a71c47ab5192039f +msgid "" +"You can create operations to visualize a workflow during development, " +"before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 +msgid "`operations.cwl`" +msgstr "`operations.cwl`" + +#: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 +msgid "" +"The `uppercase` step of the workflow is an operation. It can appear where" +" a command line tool or an expression is expected. You can also plot it " +"with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 +msgid "" +"The output of the command above can be rendered with a Graphviz renderer." +" The following image is rendered with the Sphinx `{graphviz}` directive " +"(this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:56 c07e3ff02ac14ffb89bcbd1b30f3f3fd +msgid "" +"The operation file will fail to run with `cwltool` because `cwltool` " +"lacks the necessary information to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 +msgid "" +"CWL runners may come up with ways to bind operations to concrete steps. A" +" CWL runner could, for instance, use abstract operations with ID's that " +"correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 +msgid "" +"The `outputs` of a tool is a list of output parameters that should be " +"returned after running the tool. Each parameter has an `id` for the name" +" of parameter, and `type` describing what types of values are valid for " +"that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b +msgid "" +"When a tool runs under CWL, the starting working directory is the " +"designated output directory. The underlying tool or script must record " +"its results in the form of files created in the output directory. The " +"output parameters returned by the CWL tool are either the output files " +"themselves, or the result of examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 9845e517f7d848e5b59a97880ca6999f +msgid "" +"The following example demonstrates how to return a file that has been " +"extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b +msgid "" +"In previous examples, the `baseCommand` was just a string, with any " +"arguments passed as CWL inputs. Instead of a single string, we can use an" +" _array of strings_ as the value of `baseCommand`. The first element of " +"the array is the command to run, and any subsequent elements are " +"mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f +msgid "Next, create a tar file for the example." +msgstr "Agora, crie um arquivo tar para o exemplo." + +#: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 +msgid "" +"And now invoke `cwltool` with the tool description and the input object " +"on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 +msgid "" +"The field " +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" +" describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 +msgid "" +"The " +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) " +"field consists of the pattern to match file names in the output " +"directory. This can simply be the file's exact name. But if you don't " +"know the name of the file in advance, you can use a wildcard pattern like" +" `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 +msgid "" +"To capture a tool's standard output stream, add the " +"[`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with " +"the name of the file where the output stream should go. Then add `type: " +"stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 +msgid "" +"You can also capture multiple output files into an array of files using " +"`glob`." +msgstr "" + +#: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 +msgid "" +"As described in the [YAML Guide](yaml-guide.md#arrays), the array of " +"expected outputs is specified in `array-outputs-job.yml` with each entry " +"marked by a leading `-`. This format can also be used in CWL descriptions" +" to mark entries in arrays, as demonstrated in several of the upcoming " +"sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 +msgid "" +"In a previous example, we extracted a file using the \"tar\" program. " +"However, that example was very limited because it assumed that the file " +"we were interested in was called \"hello.txt\", and this was written into" +" the `.cwl` file. This is not the best way to do this, as the " +"\"hello.txt\" filename may vary or be dependent on the input file(s) " +"used. To avoid this we can specify the name of the file we want in the " +"job parameters file (`.yml`). In this example, you will see how to " +"reference the value of input parameters dynamically from other fields, " +"which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 9b1e2f1a23ea4fe2af97ef5108f33376 +msgid "" +"Create your input files and invoke `cwltool` with the tool description " +"and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 06926a516ae6432d96e3eaa62202cd86 +msgid "" +"Certain fields permit parameter references which are enclosed in " +"`$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 +msgid "" +"References are written using a subset of Javascript syntax. In this " +"example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " +"`$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 56ead1c8d45c43bdbcbc6f7cbb8e1e92 +msgid "" +"The value of the \"inputs\" variable is the input object provided when " +"the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d +msgid "" +"Note that because `File` parameters are objects, to get the path to an " +"input file you must reference the path field on a file object; to " +"reference the path to the tar file in the above example you would write " +"`$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 +msgid "" +"From " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 f592619e4b2c497e80cd75da0548cf07 +msgid "" +"From " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 81ea71a35020421187dc18ddd151c62f +msgid "" +"From " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 ea0117748adc4324901024f21eed04ac +msgid "" +"From " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 3a30e73176cf4e4eb9f26770a176b9c9 +msgid "" +"From " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 7008a1ff1af54fda827637e787e5c7dd +msgid "" +"From " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"De " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" e " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/parameter-references.md:92 0ae32d1db5f9452bbfcbbc4719b0b9f1 +msgid "" +"From " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 7e1907ff15c74f488187531de336eccf +msgid "" +"From " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 678874668fed4f4d80a1b0990e183e2f +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: e2882880886046ac88ae1c0d414366d1 +msgid "" +"From " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: 05324169d8ae48d4a1abe3a0ac07c891 +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: 1f5b72d7ec82442ba29baa14a03f061b +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: e708866921ea49d69d3c2a32d63ea468 +msgid "" +"Often, tool descriptions will be written for a specific version of a " +"software. To make it easier for others to use your descriptions, you can " +"include a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)" +" field in the `hints` section. This may also help to avoid confusion " +"about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 6f722d6fd54f485fa964076c8d08938b +msgid "" +"In this example, the software requirement being described is InterProScan" +" version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 5c1236ec57c64079bfb7c779524b12ad +msgid "" +"Depending on your CWL runner, these hints may be used to check that the " +"required software is installed and available before the job is run. To " +"enable these checks with the reference implementation, use the " +"[dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 1a8b8aadf1c64e87b8b670e288bc14bc +msgid "" +"As well as a version number, a unique resource identifier (URI) for the " +"tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be" +" looked up in the [SciCrunch][scicrunch] registry, which provides a " +"portal for finding, tracking, and referring to scientific resources " +"consistently. If you want to specify a tool as a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)," +" search for the tool on SciCrunch and use the RRID that it has been " +"assigned in the registry. (Follow this [Adding a Resource Tutorial" +"][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID " +"to refer to the tool (via [identifiers.org][identifiers]) in the `specs` " +"field of your requirement description. Other good choices, in order of " +"preference, are to include the DOI for the main tool citation and the URL" +" to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a +msgid "" +"Normally, input files are located in a read-only directory separate from " +"the output directory. This causes problems if the underlying tool " +"expects to write its output files alongside the input file in the same " +"directory. You use " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)" +" to stage input files into the output directory. In this example, we use " +"a JavaScript expression to extract the base name of the input file from " +"its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 +msgid "Troubleshooting" +msgstr "Solucionando Problemas" + +#: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 +msgid "" +"In this section you will find ways to troubleshoot when you have problems" +" executing CWL. We focus on `cwltool` here but some of these techniques " +"may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 +msgid "" +"You can use the `--cachedir` option when running a workflow to tell " +"`cwltool` to cache intermediate files (files that are not input nor " +"output files, but created while your workflow is running). By default, " +"these files are created in a temporary directory but writing them to a " +"separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +msgid "" +"In the following example `troubleshooting-wf1.cwl` we have two steps, " +"`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " +"World\" | rev`, which would print the message \"Hello World\" reversed, " +"i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**," +" where instead of executing the `rev` command it tries to execute `revv`," +" which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +msgid "" +"Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` " +"value (`cwltool` will create the directory for you if it does not exist " +"already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +msgid "" +"The workflow is in the `permanentFail` status due to `step_b` failing to " +"execute the non-existent `revv` command. The `step_a` was executed " +"successfully and its output has been cached in your `cachedir` location. " +"You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +msgid "" +"Each workflow step has received a unique ID (the long value that looks " +"like a hash). The `${HASH}.status` files display the status of each step " +"executed by the workflow. And the `step_a` output file `stdout.txt` is " +"visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +msgid "" +"Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev`" +" in the `step_b`). After fixing the typo, when you execute `cwltool` with" +" the same arguments as the previous time, note that now `cwltool` output " +"contains information about pre-cached outputs for `step_a`, and about a " +"new cache entry for the output of `step_b`. Also note that the status of " +"`step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +msgid "" +"In this example the workflow step `step_a` was not re-evaluated as it had" +" been cached, and there was no change in its execution or output. " +"Furthermore, `cwltool` was able to recognize when it had to re-evaluate " +"`step_b` after we fixed the executable name. This technique is useful for" +" troubleshooting your CWL documents and also as a way to prevent " +"`cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a +msgid "Using Containers" +msgstr "Utilizando Containers" + +#: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +msgid "" +"[Docker][docker] containers simplify software installation by providing a" +" complete known-good runtime for software and its dependencies. However," +" containers are also purposefully isolated from the host system, so in " +"order to run a tool inside a Docker container there is additional work to" +" ensure that input files are available inside the container and output " +"files can be recovered from the container. A CWL runner can perform this" +" work automatically, allowing you to use Docker to simplify your software" +" management while avoiding the complexity of invoking and managing Docker" +" containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +msgid "" +"One of the responsibilities of the CWL runner is to adjust the paths of " +"input files to reflect the location where they appear inside the " +"container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +msgid "" +"This example runs a simple Node.js script inside a Docker container which" +" will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +msgid "" +"Before we run this, let's just break it down and see what some bits do. " +"Most of this has been explained in previous sections, the only part that " +"is really new is the " +"[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" +" section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +msgid "" +"`baseCommand: node` tells CWL that we will be running this command using " +"the Node Js runtime that is meant for Javascript files. We then need to " +"specify some `hints` for how to find the container we want. In this case" +" we list just our requirements for the docker container in " +"`DockerRequirements`. The `dockerPull:` parameter takes the same value " +"that you would pass to a `docker pull` command. That is, the name of the " +"container image (you can even specify the tag, which is good idea for " +"best practices when using containers for reproducible research). In this " +"case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 54cade4978ec463bbb5c0d8c08e27adb +msgid "" +"Create a Javascript file named \"hello.js\" and invoke `cwltool` " +"providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +msgid "" +"Notice the CWL runner has constructed a Docker command line to run the " +"script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +msgid "" +"In this example, the path to the script `hello.js` is " +"`/home/me/cwl/user_guide/hello.js` outside the container but " +"`/var/lib/cwl/job369354770_examples/hello.js` inside the container, as " +"reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 +msgid "" +"A workflow is a CWL processing unit that executes command-line tools, " +"expression tools, or workflows (sub-workflows) as steps. It must have " +"`inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +msgid "" +"The CWL document `echo-uppercase.cwl` defines a workflow that runs the " +"command-line tool, and the expression tool showed in the earlier " +"examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +msgid "" +"A command-line tool or expression tool can also be written directly in " +"the same CWL document as the workflow. For example, we can rewrite the " +"`echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +msgid "" +"Having separate files helps with modularity and code organization. But it" +" can be helpful writing everything in a single file for development. " +"There are other ways to combine multiple files into a single file (e.g. " +"`cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 +msgid "" +"For a sub-workflows you need to enable the requirement " +"`SubworkflowFeatureRequirement`. It is covered in another section of this" +" user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 +msgid "" +"This workflow extracts a java source file from a tar file and then " +"compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 +#: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +msgid "" +"[![Visualization of 1st-" +"workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 5ff059fc8ae6471c8ea86dab7e5a93f5 +msgid "" +"Use a YAML or a JSON object in a separate file to describe the input of a" +" run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 +msgid "`1st-workflow-job.yml`" +msgstr "`1st-workflow-job.yml`" + +#: ../../src/topics/workflows.md:191 4a4db7da861547639524083bf35ccfc0 +msgid "" +"Next, create a sample Java file and add it to a tar file to use with the " +"command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 +msgid "" +"The `cwlVersion` field indicates the version of the CWL spec used by the " +"document. The `class` field indicates this document describes a " +"workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +msgid "" +"The `inputs` section describes the inputs of the workflow. This is a " +"list of input parameters where each parameter consists of an identifier " +"and a data type. These parameters can be used as sources for input to " +"specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +msgid "" +"The `outputs` section describes the outputs of the workflow. This is a " +"list of output parameters where each parameter consists of an identifier " +"and a data type. The `outputSource` connects the output parameter " +"`classfile` of the `compile` step to the workflow output parameter " +"`compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +msgid "" +"The `steps` section describes the actual steps of the workflow. In this " +"example, the first step extracts a file from a tar file, and the second " +"step compiles the file from the first step using the java compiler. " +"Workflow steps are not necessarily run in the order they are listed, " +"instead the order is determined by the dependencies between steps (using " +"`source`). In addition, workflow steps which do not depend on one " +"another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +msgid "" +"The first step, `untar` runs `tar-param.cwl` (described previously in " +"[Parameter References](parameter-references.md)). This tool has two input" +" parameters, `tarfile` and `extractfile` and one output parameter " +"`extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +msgid "" +"The ``in`` section of the workflow step connects these two input " +"parameters to the inputs of the workflow, `tarball` and " +"`name_of_file_to_extract` using `source`. This means that when the " +"workflow step is executed, the values assigned to `tarball` and " +"`name_of_file_to_extract` will be used for the parameters `tarfile` and " +"`extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +msgid "" +"The `out` section of the workflow step lists the output parameters that " +"are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 +msgid "" +"The second step `compile` depends on the results from the first step by " +"connecting the input parameter `src` to the output parameter of `untar` " +"using `untar/extracted_file`. It runs `arguments.cwl` (described " +"previously in [Additional Arguments and Parameters](additional-arguments-" +"and-parameters.md)). The output of this step `classfile` is connected to " +"the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +msgid "" +"Workflows are ways to combine multiple tools to perform a larger " +"operations. We can also think of a workflow as being a tool itself; a CWL" +" workflow can be used as a step in another CWL workflow, if the workflow " +"engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 +msgid "" +"Here's an example workflow that uses our `1st-workflow.cwl` as a nested " +"workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 +msgid "`nestedworkflows.cwl`" +msgstr "`nestedworkflows.cwl`" + +#: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 +msgid "" +"This two-step workflow starts with the `create-tar` step which is " +"connected to the `compile` step in orange; `compile` is another workflow," +" diagrammed on the right. In purple we see the fixed string " +"`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda +msgid "" +" \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 +msgid "" +"A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, " +"its CWL file is included with `run`. The workflow inputs (`tarball` and " +"`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " +"mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +msgid "" +"Our `1st-workflow.cwl` was parameterized with workflow inputs, so when " +"running it we had to provide a job file to denote the tar file and " +"`*.java` filename. This is generally best-practice, as it means it can be" +" reused in multiple parent workflows, or even in multiple steps within " +"the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 +msgid "" +"Here we use `default:` to hard-code `\"Hello.java\"` as the " +"`name_of_file_to_extract` input, however our workflow also requires a tar" +" file at `tarball`, which we will prepare in the `create-tar` step. At " +"this point it is probably a good idea to refactor `1st-workflow.cwl` to " +"have more specific input/output names, as those also appear in its usage " +"as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +msgid "" +"It is also possible to do a less generic approach and avoid external " +"dependencies in the job file. So in this workflow we can generate a hard-" +"coded `Hello.java` file using the previously mentioned " +"`InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee +msgid "" +"In this case our step can assume `Hello.java` rather than be " +"parameterized, so we can use hardcoded values `hello.tar` and " +"`Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c +msgid "" +"Did you notice that we didn't split out the `tar --create` tool to a " +"separate file, but rather embedded it within the CWL Workflow file? This " +"is generally not best practice, as the tool then can't be reused. The " +"reason for doing it in this case is because the command line is hard-" +"coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 +msgid "" +"In this example we had to prepare a tar file outside, but only because " +"our inner workflow was designed to take that as an input. A better " +"refactoring of the inner workflow would be to take a list of Java files " +"to compile, which would simplify its usage as a tool step in other " +"workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 +msgid "" +"Nested workflows can be a powerful feature to generate higher-level " +"functional and reusable workflow units - but just like for creating a CWL" +" Tool description, care must be taken to improve its usability in " +"multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d +msgid "" +"Now that we know how to write workflows, we can start utilizing the " +"`ScatterFeatureRequirement`. This feature tells the runner that you wish " +"to run a tool or workflow multiple times over a list of inputs. The " +"workflow then takes the input(s) as an array and will run the specified " +"step(s) on each element of the array as if it were a single input. This " +"allows you to run the same workflow on multiple inputs without having to " +"generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +msgid "" +"The most common reason a new user might want to use scatter is to perform" +" the same analysis on different samples. Let's start with a simple " +"workflow that calls our first example (`hello_world.cwl`) and takes an " +"array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 +msgid "`scatter-workflow.cwl`" +msgstr "`scatter-workflow.cwl`" + +#: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +msgid "" +"Aside from the `requirements` section including " +"`ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 +msgid "" +"First of all, notice that the main workflow level input here requires an " +"array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +msgid "" +"Here we've added a new field to the step `echo` called `scatter`. This " +"field tells the runner that we'd like to scatter over this input for this" +" particular step. Note that the input name listed after scatter is the " +"one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 +msgid "" +"For our first scatter, it's as simple as that! Since our tool doesn't " +"collect any outputs, we still use `outputs: []` in our workflow, but if " +"you expect that the final output of your workflow will now have multiple " +"outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 +msgid "Using the following input file:" +msgstr "Usando o seguinte arquivo de entrada:" + +#: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d +msgid "" +"As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply" +" calls the command `echo` on a message. If we invoke `cwltool scatter-" +"workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f +msgid "" +"You can see that the workflow calls echo multiple times on each element " +"of our `message_array`. Ok, so how about if we want to scatter over two " +"steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 99b5c8a845ab4beb8524a69c051e2d42 +msgid "" +"Let's perform a simple echo like above, but capturing `stdout` by adding " +"the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 173bd28708834f11a2a1366b579b7ad7 +msgid "" +"And add a second step that uses `wc` to count the characters in each " +"file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +msgid "" +"Now, how do we incorporate scatter? Remember the scatter field is under " +"each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +msgid "" +"Here we have placed the scatter field under each step. This is fine for " +"this example since it runs quickly, but if you're running many samples " +"for a more complex workflow, you may wish to consider an alternative. " +"Here we are running scatter on each step independently, but since the " +"second step is not dependent on the first step completing all languages, " +"we aren't using the scatter functionality efficiently. The second step " +"expects an array as input from the first step, so it will wait until " +"everything in step one is finished before doing anything. Pretend that " +"`echo Hello World!` takes 1 minute to perform, `wc -c` on the output " +"takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, " +"and `wc` on that output takes 3 minutes. Even though `echo Hello World!` " +"could finish in 4 minutes, it will actually finish in 8 minutes because " +"the first step must wait on `echo Hallo welt!`. You can see how this " +"might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 +msgid "" +"Ok, so how do we scatter on steps that can proceed independent of other " +"samples? Remember from [Nested Workflows](#nested-workflows), that we can" +" make an entire workflow a single step in another workflow! Convert our " +"two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 +msgid "`scatter-nested-workflow.cwl`" +msgstr "`scatter-nested-workflow.cwl`" + +#: ../../src/topics/workflows.md:519 508ef2240879445594b0f262ed11a01d +msgid "" +"Now the scatter acts on a single step, but that step consists of two " +"steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef +msgid "Conditional Workflows" +msgstr "Workflows Condicionais" + +#: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 +msgid "" +"This workflow contains a conditional step and is executed based on the " +"input. This allows workflows to skip additional steps based on input " +"parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 4a4a2b2b99b44d449adb246cebce0a26 +msgid "" +"The first thing you'll notice is that this workflow is only compatible " +"for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 +msgid "" +"The first step of the workflow (step1) contains two input properties and " +"will execute foo.cwl when the conditions are met. The new property `when`" +" is where the condition validation takes place. In this case only when " +"`in1` from the workflow contains a value `< 1` this step will be " +"executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf +msgid "" +"Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value" +" will pass the first conditional step and will therefore be executed and " +"is shown in the log by `INFO [step step1] start` whereas the second step " +"is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 7cd80b31a94543358ece7a2d413adce9 +msgid "" +"When a value of 3 is given the first conditional step will not be " +"executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 9679e32f65e0482a8b083387e4a18c1f +msgid "" +"If no conditions are met for example when using `--val 2` the workflow " +"will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 +msgid "YAML Guide" +msgstr "Guia de YAML" + +#: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb +msgid "" +"[YAML][yaml] is a file format designed to be readable by both computers " +"and humans. This guide introduces the features of YAML that are relevant " +"when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d +msgid "Contents" +msgstr "Conteúdo" + +#: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 +msgid "[JSON Style](#json-style)" +msgstr "[Estilo JSON](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 +msgid "Key-Value Pairs" +msgstr "Pares de Chave-Valor" + +#: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe +msgid "" +"Fundamentally, a file written in YAML consists of a set of _key-value " +"pairs_. Each pair is written as `key: value`, where whitespace after the " +"`:` is required. Key names in CWL files should not contain whitespace - " +"[_camelCase_][camelCase] is used for multi-word key names that have " +"special meaning in the CWL specification and underscored key names " +"otherwise. For example:" +msgstr "" +"Em princípio, um arquivo escrito em YAML consiste de uma série de _pares " +"de chave-valor`. Cada par é escrito como `chave: valor`, onde o espaço em" +" branco entre o `:` é um requisito. Os nomes das chaves em arquivos CWL " +"não devem conter espaços em branco - [_camelCase_][camelCase] é usado " +"para valores de chaves que contém múltiplas palavras e possuem um valor " +"especial na especificação CWL, caso contrário os valores dos nomes de " +"chaves aparecem sublinhados. For exemplo:" + +#: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 +msgid "" +"The YAML above defines four keys - `first_name`, `last_name`, " +"`age_years`, and `home` - with their four respective values. Values can " +"be character strings, numeric (integer, floating point, or scientific " +"representation), Boolean (`true` or `false`), or more complex nested " +"types (see below)." +msgstr "" +"O YAML acima define quatro chaves - `first_name`, `last_name`, " +"`age_years`, e `home` - com quatro valores respectivos. Os valores podem " +"ser strings de caracteres, númericos (integer, floating point, ou " +"representação científica), Boolean (`true` ou `false`), ou valores mais " +"complexos com tipos aninhados (veja abaixo)." + +#: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 +msgid "" +"Values may be wrapped in quotation marks, but be aware that this may " +"change the way that they are interpreted i.e. `\"1234\"` will be treated " +"as a character string , while `1234` will be treated as an integer. This " +"distinction can be important, for example when describing parameters to a" +" command: in CWL all parts of `baseCommand` must be strings so, if you " +"want to specify a fixed numeric value to a command, make sure that you " +"wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 +msgid "" +"You may use `#` to add comments to your CWL and parameter files. Any " +"characters to the right of ` #` will be ignored by the program " +"interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +msgid "" +"If there is anything on the line before the comment, be sure to add at " +"least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +msgid "Maps" +msgstr "Dicionários" + +#: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e +msgid "" +"When describing a tool or workflow with CWL, it is usually necessary to " +"construct more complex, nested representations. Referred to as _maps_, " +"these hierarchical structures are described in YAML by providing " +"additional key-value pairs as the value of any key. These pairs " +"(sometimes referred to as \"children\") are written on new lines under " +"the key to which they belong (the \"parent\"), and should be indented " +"with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 +msgid "" +"The YAML above illustrates how to build up complex nested object " +"descriptions relatively quickly. The `inputs` map contains a single key, " +"`example_flag`, which itself contains two keys, `type` and " +"`inputBinding`, while one of these children, `inputBinding`, contains a " +"further two key-value pairs (`position` and `prefix`). See the " +"[Arrays](#arrays) section below for more information about providing " +"multiple values/key-value pairs for a single key. For comparison with the" +" example YAML above, here is a graphical representation of the `inputs` " +"object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 +msgid "" +"In certain circumstances, it is necessary to provide multiple values or " +"objects for a single key. As we've already seen in the [Maps](#maps) " +"section above, more than one key-value pair can be mapped to a single " +"key. However, it is also possible to define multiple values for a key " +"without having to provide a unique key for each value. We can achieve " +"this with an _array_, where each value is defined on its own line and " +"preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc +msgid "JSON Style" +msgstr "Estilo JSON" + +#: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b +msgid "" +"YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and " +"arrays can also be defined in YAML using the native JSON syntax. For " +"example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 +msgid "and:" +msgstr "e:" + +#: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +msgid "" +"Native JSON can be useful in indicating where a field is intentionally " +"left empty (such as `[]` for an empty array), as well as where it makes " +"more sense for the values to be located on the same line (For example, " +"when providing option flags and their values in a shell command). " +"However, as the second example above shows, it can severely affect the " +"readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 +msgid "Reference" +msgstr "Referencia" + +#: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 +msgid "" +"The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for" +" us while we wrote this guide, though it also covers features that are " +"not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 +msgid "Tutorials" +msgstr "Tutoriais" + +#: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae +msgid "" +"This is a list of tutorials provided by the CWL community. Use the `Edit " +"this page` link in the menu if you would like to add another tutorial to " +"the list." +msgstr "" + +#: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d +msgid "Beginner Tutorials" +msgstr "Tutoriais para Iniciantes" + +#: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e +msgid "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-" +"tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 e640316669104239970794191b6da38b +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" + +#~ msgid "In CWL, everything must be directly stated." +#~ msgstr "Em CWL tudo deve ser declarado diretamente." + +#~ msgid "" +#~ "Using " +#~ "[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +#~ " along with [`linkMerge: " +#~ "merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +#~ msgstr "" + +#~ msgid "Optional Inputs 💯" +#~ msgstr "Inputs Opcionais 💯" + +#~ msgid "Enum Inputs ⚜️" +#~ msgstr "Inputs Enum ⚜️" + +#~ msgid "Record Inputs 📀" +#~ msgstr "Inputs do tipo Record" + +#~ msgid "Debug JavaScript Expressions" +#~ msgstr "Depurar Expressões JavaScript" + +#~ msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +#~ msgstr "" + +#~ msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +#~ msgstr "" + +#~ msgid "" +#~ "`InitialWorkDirRequirement` - controls staging " +#~ "files in the input directory." +#~ msgstr "" + +#~ msgid "" +#~ "The FAIR principles have laid a " +#~ "foundation for sharing and publishing " +#~ "digital assets, and in particular, data." +#~ " The FAIR principles emphasize machine " +#~ "accessibility and that all digital " +#~ "assets should be Findable, Accessible, " +#~ "Interoperable, and Reusable. Workflows encode" +#~ " the methods by which the scientific" +#~ " process is conducted and via which" +#~ " data are created. It is thus " +#~ "important that workflows support the " +#~ "creation of FAIR data and adhere " +#~ "to the FAIR principles. — [FAIR " +#~ "Computational " +#~ "Workflows](https://workflows.community/groups/fair/), Workflows" +#~ " Community Initiative." +#~ msgstr "" + +#~ msgid "" +#~ "If you are using Windows, you will" +#~ " have to install the [Windows " +#~ "Subsystem for Linux 2](https://learn.microsoft.com" +#~ "/en-us/windows/wsl/install) (WSL2). Visit the " +#~ "`cwltool` [documentation](https://github.com/common-" +#~ "workflow-language/cwltool/blob/main/README.rst#ms-windows-" +#~ "users) for details on installing WSL2." +#~ " Your operating system also needs " +#~ "internet access and a recent version " +#~ "of Python (3.6+)." +#~ msgstr "" + +#~ msgid "" +#~ "`cwltool` can be installed with `pip`." +#~ " We recommend using a virtual " +#~ "environment like `venv` or `conda`. The" +#~ " following commands will create and " +#~ "activate a Python virtual environment " +#~ "using the `venv` module, and install " +#~ "`cwltool` in that environment:" +#~ msgstr "" + +#~ msgid "Installing `cwltool` with `pip` and `venv`." +#~ msgstr "Instalando `cwltool` com `pip` e `venv`." + +#~ msgid "Cwl-runner Python Module" +#~ msgstr "Módulo Python cwl-runner" + +#~ msgid "" +#~ "The CWL community publishes a Python " +#~ "package with the name `cwlref-runner`" +#~ " that installs an alias for `cwltool`" +#~ " under the name `cwl-runner`" +#~ msgstr "" + +#~ msgid "" +#~ "The *shebang* is the two-character " +#~ "sequence `#!` at the beginning of " +#~ "a script. When the script is " +#~ "executable, the operating system will " +#~ "execute the script using the executable" +#~ " specified after the shebang. It is" +#~ " considered a good practice to use" +#~ " `/usr/bin/env ` rather than " +#~ "using a hard-coded location, since " +#~ "`/usr/bin/env ` looks for the " +#~ "`` program in the system " +#~ "`PATH`," +#~ msgstr "" + +#~ msgid "" +#~ "The usage of the `cwltool` command-" +#~ "line executable is basically `cwltool " +#~ "[OPTIONS] [INPUTS_OBJECT]`. You " +#~ "can run the `hello_world.cwl` workflow " +#~ "without specifying any option:" +#~ msgstr "" + +#~ msgid "" +#~ "For more examples of providing metadata" +#~ " within CWL descriptions, see [the " +#~ "Metadata and Authorship section of this" +#~ " User Guide](../topics/metadata-and-" +#~ "authorship.md)." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, list dependencies " +#~ "using short name(s) under " +#~ "`SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "In tool descriptions, include a list " +#~ "of version(s) of the tool that are" +#~ " known to work with this description" +#~ " under `SoftwareRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Each `CommandLineTool` description should " +#~ "focus on a single operation only, " +#~ "even if the (sub)command is capable " +#~ "of more. Don't overcomplicate your tool" +#~ " descriptions with options that you " +#~ "don't need or use." +#~ msgstr "" + +#~ msgid "" +#~ "This indicates whether a process " +#~ "requires outgoing IPv4/IPv6 network access." +#~ " If a command-line tool is " +#~ "written manually in CWL v1.1+, there " +#~ "is a need to specify when network" +#~ " access is required." +#~ msgstr "" + +#~ msgid "" +#~ "CWL v1.0 command-line tools that " +#~ "are upgraded to v1.1 or v1.2 get" +#~ " Network Access automatically." +#~ msgstr "" + +#~ msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +#~ msgstr "" + +#~ msgid "" +#~ "Note also that the author of this" +#~ " CWL description has also included " +#~ "`ResourceRequirement`s, specifying the minimum " +#~ "amount of RAM and number of cores" +#~ " required for the tool to run " +#~ "successfully, as well as details of " +#~ "the version of the software that " +#~ "the description was written for and " +#~ "other useful metadata. These features " +#~ "are discussed further in other chapters" +#~ " of this user guide." +#~ msgstr "" + +#~ msgid "" +#~ "Similar to the command-line tool " +#~ "it requires `inputs` and `outputs`. But" +#~ " instead of `baseCommand`, it requires " +#~ "an `expression` attribute." +#~ msgstr "" + +#~ msgid "" +#~ "We had to use an " +#~ "`InlineJavascriptRequirement` as our expression " +#~ "contains a JavaScript call in " +#~ "`.toUpperCase()`. This means to tools " +#~ "using the expression tool that " +#~ "JavaScript is a requirement." +#~ msgstr "" + +#~ msgid "" +#~ "If you need to manipulate input " +#~ "parameters, include the requirement " +#~ "`InlineJavascriptRequirement` and then anywhere " +#~ "a parameter reference is legal you " +#~ "can provide a fragment of Javascript " +#~ "that will be evaluated by the CWL" +#~ " runner." +#~ msgstr "" + +#~ msgid "From `Workflow`" +#~ msgstr "" + +#~ msgid "" +#~ "The requirement `InlineJavascriptRequirement` " +#~ "supports an `expressionLib` attribute that " +#~ "allows users to load external JavaScript" +#~ " files, or to provide inline " +#~ "JavaScript code." +#~ msgstr "" + +#~ msgid "" +#~ "Tools and workflows can take `File` " +#~ "types as input and produce them as" +#~ " output. We also recommend indicating " +#~ "the format for `File` types. This " +#~ "helps document for others how to " +#~ "use your tool while allowing you " +#~ "to do some simple type-checking " +#~ "when creating parameter files." +#~ msgstr "" + +#~ msgid "" +#~ "Available primitive types are *string*, " +#~ "*int*, *long*, *float*, *double*, and " +#~ "*null*; complex types are *array* and" +#~ " *record*; in addition there are " +#~ "special types *File*, *Directory* and " +#~ "*Any*." +#~ msgstr "" + +#~ msgid "" +#~ "You can use `cwltool` to create a" +#~ " template input object. That saves " +#~ "you from having to type all the" +#~ " input parameters in a input object" +#~ " file:" +#~ msgstr "" + +#~ msgid "" +#~ "The field `inputBinding` is optional and" +#~ " indicates whether and how the input" +#~ " parameter should appear on the " +#~ "tool's command line. If `inputBinding` " +#~ "is missing, the parameter does not " +#~ "appear on the command line. Let's " +#~ "look at each example in detail." +#~ msgstr "" + +#~ msgid "" +#~ "If you use exclusive input parameters" +#~ " combined with expressions, you need " +#~ "to be aware that the `inputs` " +#~ "JavaScript object will contain one of" +#~ " the exclusive input values. This " +#~ "means that you might need to use" +#~ " an **or** boolean operator to check" +#~ " which values are present." +#~ msgstr "" + +#~ msgid "" +#~ "Note how the JavaScript expression uses" +#~ " the value of the exclusive input " +#~ "parameter without taking into consideration" +#~ " a `null` value. If you provide " +#~ "a valid value, such as “fasta” " +#~ "(one of the values of the enum)," +#~ " your command should execute successfully:" +#~ msgstr "" + +#~ msgid "" +#~ "However, if you do not provide any" +#~ " input value, then `file_format` will " +#~ "be evaluated to a `null` value, " +#~ "which does not match the expected " +#~ "type for the output field (a " +#~ "`string`), resulting in failure when " +#~ "running your workflow." +#~ msgstr "" + +#~ msgid "" +#~ "To correct it, you must remember " +#~ "to use an or operator in your " +#~ "JavaScript expression when using exclusive " +#~ "parameters, or any parameter that allows" +#~ " `null`. For example, the expression " +#~ "could be changed to `$(inputs.file_format " +#~ "|| 'auto')`, to have a default " +#~ "value if none was provided in the" +#~ " command line or job input file." +#~ msgstr "" + +#~ msgid "" +#~ "The `uppercase` step of the workflow " +#~ "is an operation. It can be used" +#~ " like a command line tool or an" +#~ " expression. You can also plot it " +#~ "with the CWL Viewer or `cwltool`:" +#~ msgstr "" + +#~ msgid "" +#~ "The output of the command above " +#~ "can be rendered with a Graphviz " +#~ "renderer. The following image is " +#~ "rendered with the Sphinx Graphviz " +#~ "directive (this user guide is built " +#~ "with Sphinx):" +#~ msgstr "" + +#~ msgid "" +#~ "If you try running it with " +#~ "`cwltool`, the command will fail since" +#~ " `cwltool` does not have enough " +#~ "information to know how to execute " +#~ "it:" +#~ msgstr "" + +#~ msgid "" +#~ "When a tool runs under CWL, the" +#~ " starting working directory is the " +#~ "designated output directory. The underlying" +#~ " tool or script must record its " +#~ "results in the form of files " +#~ "created in the output directory. The" +#~ " output parameters returned by the " +#~ "CWL tool are either the output " +#~ "files themselves, or come from examining" +#~ " the content of those files." +#~ msgstr "" + +#~ msgid "" +#~ "In previous examples, the `baseCommand` " +#~ "was just a string, with any " +#~ "arguments passed as CWL inputs. Instead" +#~ " of a single string we can use" +#~ " an _array of strings_. The first" +#~ " element is the command to run, " +#~ "and any subsequent elements are " +#~ "mandatory command line arguments" +#~ msgstr "" + +#~ msgid "" +#~ "The field `outputBinding` describes how " +#~ "to set the value of each output" +#~ " parameter." +#~ msgstr "" + +#~ msgid "" +#~ "The `glob` field consists of the " +#~ "name of a file in the output " +#~ "directory. If you don't know name " +#~ "of the file in advance, you can" +#~ " use a wildcard pattern like `glob:" +#~ " '*.txt'`." +#~ msgstr "" + +#~ msgid "" +#~ "To capture a tool's standard output " +#~ "stream, add the `stdout` field with " +#~ "the name of the file where the " +#~ "output stream should go. Then add " +#~ "`type: stdout` on the corresponding " +#~ "output parameter." +#~ msgstr "" + +#~ msgid "" +#~ "Often, tool descriptions will be written" +#~ " for a specific version of a " +#~ "software. To make it easier for " +#~ "others to use your descriptions, you " +#~ "can include a `SoftwareRequirement` field " +#~ "in the `hints` section. This may " +#~ "also help to avoid confusion about " +#~ "which version of a tool the " +#~ "description was written for." +#~ msgstr "" + +#~ msgid "" +#~ "As well as a version number, a " +#~ "unique resource identifier (URI) for the" +#~ " tool is given in the form of" +#~ " an [RRID][rrid]. Resources with RRIDs " +#~ "can be looked up in the " +#~ "[SciCrunch][scicrunch] registry, which provides " +#~ "a portal for finding, tracking, and " +#~ "referring to scientific resources " +#~ "consistently. If you want to specify " +#~ "a tool as a `SoftwareRequirement`, " +#~ "search for the tool on SciCrunch " +#~ "and use the RRID that it has " +#~ "been assigned in the registry. (Follow" +#~ " this [Adding a Resource Tutorial" +#~ "][scicrunch-add-tool] to add a tool" +#~ " to SciCrunch). You can use this " +#~ "RRID to refer to the tool (via " +#~ "[identifiers.org][identifiers]) in the `specs` " +#~ "field of your requirement description. " +#~ "Other good choices, in order of " +#~ "preference, are to include the DOI " +#~ "for the main tool citation and the" +#~ " URL to the tool." +#~ msgstr "" + +#~ msgid "" +#~ "Normally, input files are located in " +#~ "a read-only directory separate from " +#~ "the output directory. This causes " +#~ "problems if the underlying tool expects" +#~ " to write its output files alongside" +#~ " the input file in the same " +#~ "directory. You use `InitialWorkDirRequirement` " +#~ "to stage input files into the " +#~ "output directory. In this example, we" +#~ " use a JavaScript expression to " +#~ "extract the base name of the input" +#~ " file from its leading directory " +#~ "path." +#~ msgstr "" + +#~ msgid "" +#~ "Before we run this, let's just " +#~ "break it down and see what some" +#~ " bits do. Most of this has " +#~ "been explained in previous sections, the" +#~ " only part that is really new " +#~ "is the `dockerRequirement` section." +#~ msgstr "" diff --git a/locales/ru/LC_MESSAGES/sphinx.po b/locales/ru/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..b486cfd9 --- /dev/null +++ b/locales/ru/LC_MESSAGES/sphinx.po @@ -0,0 +1,31 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2025-01-06 04:09+0000\n" +"Last-Translator: gfbdrgng \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "Основная навигация" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "Раздел Навигация" diff --git a/locales/ru/LC_MESSAGES/user_guide.po b/locales/ru/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..bf8abbf2 --- /dev/null +++ b/locales/ru/LC_MESSAGES/user_guide.po @@ -0,0 +1,4487 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2025-08-12 10:22+0000\n" +"Last-Translator: Michael Crusoe \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.13-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "Лицензии" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "Инструкционные материалы" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" +"Все учебные материалы проекта Common Workflow Language и изменения в " +"структуре также доступны по лицензии [Creative Commons Attribution]" +"[cc-by-human]. Нижеследующее является человекочитаемым кратким изложением " +"[полного юридического текста лицензии CC BY 4.0][cc-by-legal] (но не " +"заменяет его)." + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "Вы свободны:" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"**Пользоваться** - копировать и распространять материал на любом носителе " +"или в любом формате" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**Адаптировать** - смешивать, преобразовывать и развивать материал" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "для любых целей, даже коммерчески." + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" +"Лицензиар не может лишить вас этих свобод, если вы соблюдаете условия " +"лицензии:" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" +"**Атрибуция**---Вы должны отдать должное (упомянуть, что ваша работа " +"получена из работы, которая является Copyright © проекта Common Workflow " +"Language, и, где это возможно, дать ссылку на https://www.commonwl.org/ ), " +"предоставить [ссылку на лицензию][cc-by-human], и указать, были ли внесены " +"изменения. Вы можете сделать это любым разумным способом, но не таким, " +"который предполагает, что лицензиар одобряет вас или ваше использование." + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "" +"**Нет дополнительных ограничений**---Вы не имеете права применять " +"юридические условия или технологические меры, которые законно ограничивают " +"других от выполнения действий, разрешенных лицензией. При понимании того, " +"что:" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "" +"Вы не обязаны соблюдать лицензию в отношении элементов материала, " +"находящихся в общественном достоянии, или если их использование допускается " +"в соответствии с применимыми исключениями или ограничениями." + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" +"Гарантии не предоставляются. Лицензия может не предоставлять вам всех " +"разрешений, необходимых для предполагаемого использования. Например, другие " +"права, такие как публичность, неприкосновенность частной жизни или моральные " +"права, могут ограничивать использование материала." + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "Программное обеспечение" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"Если не указано иное, примеры программ и другое программное обеспечение, " +"предоставляемое проектом Common Workflow Language, доступно на условиях [OSI]" +"[osi]-одобренной [Apache 2.0 license][apache-2.0-license]." + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" +"За исключением случаев, предусмотренных действующим законодательством или " +"оговоренных в письменном виде, программное обеспечение, распространяемое в " +"рамках Лицензии, распространяется на условиях \"КАК ЕСТЬ\", БЕЗ КАКИХ-ЛИБО " +"ГАРАНТИЙ И УСЛОВИЙ, как явных, так и подразумеваемых. Конкретные " +"формулировки, регулирующие разрешения и ограничения в рамках Лицензии, см. в " +"Лицензии." + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" +"CWL - это способ описания инструментов командной строки и их соединения для " +"создания рабочих процессов. Поскольку CWL - это спецификация, а не " +"конкретный программный продукт, инструменты и рабочие процессы, описанные с " +"помощью CWL, переносятся на различные платформы, поддерживающие стандарт CWL." + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "Эта страница переехала" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" +"Эта страница устарела и была оставлена здесь, чтобы сохранить ссылки на " +"старое Руководство пользователя. Пожалуйста, используйте новое [Оглавление]" +"(index.md#table-of-contents) для просмотра Руководства пользователя." + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "Часто задаваемые вопросы" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "Не \"`Файл`\" Типы, использующие `evalFrom`" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "Переименование входного файла" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" +"Этот пример демонстрирует, как изменить имя входного файла в описании " +"инструмента. Это может быть полезно, когда вы берете файлы, созданные на " +"другом этапе рабочего процесса, и не хотите работать с именами по умолчанию, " +"которые были присвоены этим файлам при их создании." + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "Переименование выходного файла" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "" +"В этом примере показано, как изменить имя выходного файла по сравнению с " +"именем по умолчанию, присвоенным ему инструментом:" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "Ссылка на локальный сценарий" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "Существует два способа сослаться на локальный скрипт:" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "" +"Первый способ заключается в добавлении папки с вашими скриптами в переменную " +"окружения `PATH`. Это позволит вам запускать сценарий оболочки напрямую, без " +"использования команд `sh` или `bash`." + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "Начните с добавления _shebang_ в начало файла:" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "" +"После этого сделайте скрипт исполняемым с помощью команды `chmod +x " +"scriptname.sh`" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "" +"Наконец, измените `PATH`, чтобы добавить каталог, в котором находится ваш " +"скрипт. (Хорошей практикой является использование `$HOME/bin` для хранения " +"собственных скриптов)." + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" +"Теперь вы можете использовать `baseCommand: scriptname.sh`, чтобы запустить " +"скрипт напрямую." + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "" +"Если вы захотите поделиться своей работой позже, вы можете поместить свой " +"скрипт в программный контейнер в формате Docker." + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "" +"Второй способ предполагает включение входных данных типа `type: File` в " +"самом скрипте:" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "В CWL все должно быть прямо указано." + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "Установка привязок ввода на основе `self` для необязательных входов" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "" +"В настоящее время `cwltool` не может справиться с отсутствующими " +"необязательными входами, если их привязка к входу использует `self`. Ниже " +"приведен пример обходного пути для этого, в ожидании более сложного " +"исправления." + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "Моделирование параметра \"один-другой\"" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "" +"Ниже приведен пример, показывающий, как указать различные строки для " +"добавления в командную строку в зависимости от значения булевого параметра." + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "Подключите значение Solo к входу, который ожидает массив этого типа" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"Использование [`MultipleInputFeatureRequirement`](https://www.commonwl.org/" +"v1.0/Workflow.html#MultipleInputFeatureRequirement) вместе с " +"[`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +#, fuzzy +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "" +"Входные данные должны представлять собой массив, состоящий ровно из одной " +"записи для каждой входной ссылки. Если для одной ссылки указано " +"\"merge_nested\", то значение из ссылки должно быть обернуто в список из " +"одного элемента." + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "" +"Что означает " +"\"создать список, элементами которого являются именно эти источники\"" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" +"Или другими словами: если пункт назначения имеет тип `File[]` (массив `File`)" +", а источник - один `File`, то добавьте `MultipleInputFeatureRequirement` в " +"`требования` уровня Workflow и добавьте `linkMerge: merge_nested` в " +"соответствующую запись `in` шага назначения." + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "Дополнительные входы 💯" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "" +"Чтобы сделать входной параметр необязательным, добавьте вопросительный знак " +"в объявление типа." + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +#, fuzzy +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "Входы Enum ⚜️" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" +"Для флагов командной строки, которые требуют определенного ввода в качестве " +"аргумента, в CWL может быть объявлен тип enum. **Указание здесь null " +"известно как стиль длинной формы. Он делает то же самое, что и " +"вопросительный знак на других входах**" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +#, fuzzy +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "Запись входов 📀" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "" +"Для флагов командной строки, которые являются **взаимоисключающими** или " +"**зависимыми**, может быть определен специальный тип записи. Вы также можете " +"указать здесь null для создания необязательных входов." + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "Установка взаимоисключающих параметров" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" +"Чтобы правильно задать поля в типе ввода записи, необходимо передать словарь " +"в input для правильной установки параметров. Для этого используется " +"встроенный JavaScript и возвращается словарь с ключом поля, которое вы " +"хотите установить. Поле источника задается для указания ввода из рабочего " +"процесса, который будет использоваться в качестве значения." + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +msgid "Setting Booleans" +msgstr "Настройка булевых значений" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "Их можно задать с помощью поля по умолчанию" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "Конкатенация строк во входных данных" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "Поле valueFrom должно использоваться вместо default." + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "Ошибки `cwltool` из-за имен файлов с пробельными символами внутри" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" +"По умолчанию `cwltool` не разрешает использовать некоторые символы в именах " +"файлов." + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "Например, имя файла `a space is here.txt` содержит 3 символа пробела." + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" +"Если вы не можете избежать этих опасных символов, то передайте `--relax-path-" +"checks` в `cwltool`." + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "Ошибка ссылки на параметр CWL из-за дефиса в входном идентификаторе" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "Если `cwltool --validate` возвращает действительный" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "Но его выполнение приводит к ошибке типа:" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "Файл находится здесь" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "Проблема, вызванная `-` (символом дефиса)." + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "" +"Чтобы исправить эту ошибку, замените `-` (дефис) на `_` (знак подчеркивания)" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" +"Если изменить входной идентификатор невозможно, можно использовать " +"альтернативный синтаксис справочника параметров CWL:" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "Использование CWL и cwltool с Singularity" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" +"Стандарты CWL построены на основе контейнеров формата Docker (по желанию). " +"Эталонный runner и некоторые другие реализации CWL поддерживают запуск " +"контейнеров формата Docker с помощью движка Singularity. Прямое указание " +"контейнера формата Singularity не является частью стандартов CWL." + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "Отладка выражений JavaScript" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +#, fuzzy +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" +"You can use the --js-console option of cwltool, or " +"you can try creating a JavaScript or TypeScript project for your code, and " +"load it using expressionLib, e.g.: https://github.com/common-workflow-language/" +"common-workflow-language/blob/master/v1.0/v1.0/template-" +"tool.cwl#L6-L8" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "Руководство пользователя Common Workflow Language" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" +"Это руководство познакомит вас с написанием рабочих процессов с " +"использованием открытых стандартов [Common Workflow Language](https://" +"www.commonwl.org/) (CWL). В этом руководстве описывается последняя " +"спецификация {{ cwl_version }}." + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "Вклад и отзывы приветствуются!" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" +"Если вы обнаружили, что в этом руководстве чего-то не хватает, или хотите " +"дать другие отзывы, оформите проблему в " +"[репозитории проекта для этого руководства][repo]. Вы также можете " +"предложить изменения непосредственно в Pull Request, нажав кнопку " +"\"Редактировать эту страницу\" в правой боковой панели каждой страницы." + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "Навигация по руководству пользователя" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" +"Если вы начинающий пользователь, начните с раздела [Введение](/introduction/" +"index.md). Для опытных пользователей в подразделах раздела [Topics](/topics/" +"index.md) содержится подробная информация о наиболее распространенных темах " +"для CWL." + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" +"Оглавление отображается в верхнем меню, а также на левой боковой панели. Оно " +"также отображается далее на этой странице, но со ссылками на подразделы. " +"Правая боковая панель содержит ссылки на разделы каждой страницы, а форма " +"поиска находится на левой боковой панели." + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "Оглавление" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "Основные концепции" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" +"В этом разделе описаны основные понятия, с помощью которых пользователи " +"смогут начать работу с рабочими процессами на Common Workflow Language (CWL)" +". Предполагается, что читатели знакомы с менеджерами рабочих процессов, YAML " +"и умеют выполнять инструкции в командной строке. В других разделах " +"руководства пользователя рассматриваются те же концепции, но более подробно. " +"Если вы уже знакомы с CWL или ищете более продвинутое содержание, вы можете " +"пропустить этот раздел." + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "Спецификация CWL" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" +"Спецификация CWL - это документ, написанный и поддерживаемый сообществом " +"CWL. У спецификации есть разные версии. В данном руководстве пользователя " +"рассматривается версия {{ cwl_version }}." + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" +"Версия спецификации может содержать до трех чисел, разделенных `.` (точками)" +". Первый номер - это основной выпуск, используемый для изменений, " +"несовместимых с прошлым, например, для удаления устаревших функций. Второй " +"номер - это минорный релиз, который используется для новых функций или " +"небольших изменений, совместимых с предыдущими версиями. Последний номер " +"используется для исправления ошибок, например, опечаток и других исправлений " +"в спецификации." + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" +"Модель, используемая для создания версии спецификации, называется Semantic " +"Versioning. См. конец этого раздела, чтобы [узнать больше](#learn-more) о " +"ней." + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "Осуществление" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" +"Реализация спецификации CWL - это любое программное обеспечение, написанное " +"в соответствии с тем, что определено в той или иной версии документа " +"спецификации. Однако реализации могут не реализовывать все аспекты " +"спецификации. Реализации CWL лицензируются как под Open Source, так и под " +"коммерческими лицензиями." + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" +"CWL хорошо подходит для описания крупномасштабных рабочих процессов в " +"кластерных, облачных и высокопроизводительных вычислительных средах, где " +"задачи планируются параллельно на многих узлах." + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "Спецификация CWL, реализации и другие инструменты." + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "Процессы и требования" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" +"Процесс - это вычислительная единица, которая принимает входные данные и " +"производит выходные. На поведение процесса могут влиять входы, требования и " +"подсказки. В спецификации CWL {{ cwl_version }} определены четыре типа " +"процессов:" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "Инструмент командной строки." + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "Инструмент выражения." + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "Операция." + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "Рабочий процесс." + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "Блоки обработки, доступные в модели объектов CWL." + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" +"Инструмент командной строки - это обертка для утилит командной строки, таких " +"как `echo`, `ls` и `tar`. Инструмент командной строки может быть вызван из " +"рабочего процесса." + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" +"Инструмент выражения - это обертка для выражения JavaScript. Он может " +"использоваться для упрощения рабочих процессов и инструментов командной " +"строки, перенося общие части выполнения рабочего процесса в многократно " +"используемый код JavaScript, который принимает входные данные и выдает " +"выходные, как инструмент командной строки." + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" +"Операция - это абстрактный процесс, который также принимает входные данные, " +"производит выходные и может быть использован в рабочем процессе. Но это " +"особая операция, которая используется не так часто. Она рассматривается в " +"разделе [Операции](../topics/operations.md) этого руководства пользователя." + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" +"Рабочий процесс - это процесс, содержащий шаги. Шаги могут быть другими " +"рабочими процессами (вложенными рабочими процессами), инструментами " +"командной строки или средствами выражения. Входные данные рабочего процесса " +"могут быть переданы любому из его этапов, а выходные данные, созданные его " +"этапами, могут быть использованы в конечном результате рабочего процесса." + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" +"Спецификация CWL позволяет реализациям предоставлять дополнительную " +"функциональность и указывать необходимые условия для рабочих процессов с " +"помощью *требований*. В спецификации CWL определено множество требований, " +"например:" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "`InlineJavascriptWorkflow` - включает JavaScript в выражениях." + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "`SubworkflowFeatureRequirement` - включает вложенные рабочие процессы." + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" +"`InitialWorkDirRequirement` - контролирует размещение файлов во входном " +"каталоге." + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" +"Некоторые прогоны CWL могут предоставлять требования, которых нет в " +"спецификации. Например, требования к GPU поддерживаются в `cwltool` с " +"помощью требования `cwltool:CUDARequirement`, но оно не является частью " +"спецификации {{ cwl_version }} и может не поддерживаться другими " +"CWL-прогонами." + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" +"Подсказки похожи на требования, но если в требованиях перечислены " +"обязательные функции, то в подсказках - необязательные. Требования подробно " +"описаны в разделе [Требования](../topics/requirements-and-hints.md)." + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "Рабочие процессы FAIR" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" +"Принципы FAIR заложили основу для обмена и публикации цифровых активов, в " +"частности данных. Принципы FAIR подчеркивают доступность машин и то, что все " +"цифровые активы должны быть находимыми, доступными, взаимодействующими и " +"многократно используемыми. Рабочие процессы кодируют методы, с помощью " +"которых осуществляется научный процесс и создаются данные. Поэтому важно, " +"чтобы рабочие процессы поддерживали создание данных FAIR и соответствовали " +"принципам FAIR. - [FAIR Computational Workflows](https://workflows.community/" +"groups/fair/), Workflows Community Initiative." + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" +"CWL уходит корнями в \"make\" и многие другие подобные инструменты, которые " +"определяют порядок выполнения, основываясь на зависимостях между задачами. " +"Однако, в отличие от \"make\", задачи CWL изолированы, и вы должны явно " +"указывать свои входы и выходы." + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" +"Преимуществами явности и изолированности являются гибкость, переносимость и " +"масштабируемость; инструменты и рабочие процессы, описанные с помощью CWL, " +"могут прозрачно использовать такие технологии, как Docker, и применяться с " +"реализациями CWL от разных производителей." + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" +"`cwltool` также использует стандартную онтологию PROV-O для проверки " +"достоверности данных." + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "Узнать больше" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "Семантическое версионирование - " + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" +"Страница спецификации CWL на сайте CWL: " + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"Текущая спецификация CWL на GitHub: {{ ''.format(cwl_version_text) }}" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" +"Список реализаций на сайте CWL: " + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "PROV-O: Онтология PROV - " + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" +"Операции CWL рассматриваются в разделе [Операции](../topics/operations.md) " +"данного руководства пользователя." + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "Введение" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" +"В этом разделе мы расскажем вам о кратком введении в CWL, предпосылках для " +"изучения данного руководства пользователя и некоторых основных понятиях, " +"которые полезно знать перед прочтением остальной части руководства " +"пользователя." + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "Пререквизиты" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" +"Программное обеспечение и конфигурации, перечисленные в этом разделе, " +"являются необходимыми условиями для выполнения данного руководства " +"пользователя. Стандарты CWL реализуются множеством различных программ и " +"платформ для запуска рабочих процессов. В этом списке требований основное " +"внимание уделено эталонному исполнителю CWL, `cwltool`. Вы можете " +"использовать другой CWL-совместимый прогон или систему документооборота, но " +"результаты и интерфейс могут выглядеть иначе (хотя точные результаты " +"документооборота должны быть идентичными)." + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "Реализации CWL" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" +"Существует множество реализаций стандартов CWL. Некоторые из них " +"представляют собой полноценные CWL-программы, в то время как другие могут " +"быть плагинами или расширениями для движков рабочих процессов. Более " +"подробное описание приведено в разделе [Реализации](basic-" +"concepts.md#implementations)." + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "Операционная система" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" +"Мы рекомендуем использовать современную операционную систему. Вы можете " +"выбрать любой из следующих вариантов операционной системы:" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +#, fuzzy +msgid "Linux" +msgstr "Linux" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +#, fuzzy +msgid "macOS" +msgstr "macOS" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +#, fuzzy +msgid "Windows" +msgstr "Windows" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" +"Если вы используете Windows, вам придется установить " +"[Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/" +"wsl/install) (WSL2). Подробную информацию об установке WSL2 можно найти в " +"`cwltool` [документации](https://github.com/common-workflow-language/cwltool/" +"blob/main/README.rst#ms-windows-users). Вашей операционной системе также " +"необходим доступ в Интернет и последняя версия Python (3.6+)." + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "Бегун CWL" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" +"Первое, что вам понадобится для запуска рабочих процессов CWL, - это CWL " +"runner. `cwltool` - это проект с открытым исходным кодом на Python, " +"поддерживаемый сообществом CWL. Он также является эталонным бегуном CWL, что " +"означает, что он должен поддерживать все, что есть в текущей спецификации " +"CWL, {{ cwl_version }}." + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" +"`cwltool` может быть установлен с помощью `pip`. Мы рекомендуем использовать " +"виртуальную среду, например `venv` или `conda`. Следующие команды создадут и " +"активируют виртуальную среду Python с помощью модуля `venv`, а также " +"установят `cwltool` в эту среду:" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "Установка `cwltool` с помощью `pip` и `venv`." + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" +"О других способах установки `cwltool` с помощью `apt` и `conda` читайте в " +"разделе `cwltool` [документация](https://github.com/common-workflow-language/" +"cwltool#install)." + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" +"Давайте воспользуемся простым описанием CWL-инструмента `true.cwl` с помощью " +"`cwltool`." + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +#, fuzzy +msgid "`true.cwl`" +msgstr "`true.cwl`" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" +"Команда `cwltool` имеет опцию для проверки описаний инструментов и рабочих " +"процессов CWL. Эта опция будет разбирать документ CWL, искать синтаксические " +"ошибки и проверять соответствие описаний рабочих процессов стандартам CWL. " +"Однако эти действия будут выполнены без запуска документа. Чтобы проверить " +"рабочие процессы CWL (или даже описание отдельного инструмента командной " +"строки, как показано выше), передайте опцию `--validate` команде `cwltool`:" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "Проверка `true.cwl` с помощью `cwltool`." + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" +"Вы можете запустить описание инструмента CWL, опустив опцию `--validate`:" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "Запуск `true.cwl` с помощью `cwltool`." + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "Модуль Cwl-runner Python" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" +"`cwl-runner` - это псевдоним для любого CWL-совместимого бегуна, не " +"зависящий от реализации. Это просто означает, что команда псевдонима `cwl-" +"runner` может быть вызвана независимо и не зависит от имени конкретной " +"программы CWL runner. Пользователи могут вызывать `cwl-runner` вместо того, " +"чтобы напрямую вызывать CWL-бегунок, например `cwltool`. Программа `cwl-" +"runner` устанавливается системным администратором или пользователем, чтобы " +"указать на предпочтительную реализацию CWL. Это удобно для сред с " +"несколькими CWL-бегунами." + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" +"Сообщество CWL публикует пакет Python с именем `cwlref-runner`, который " +"устанавливает псевдоним для `cwltool` под именем `cwl-runner`" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "Установка псевдонима `cwl-runner` для cwltool с помощью `pip`." + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" +"Теперь вы можете проверить и запустить свой рабочий процесс с помощью " +"исполняемого файла `cwl-runner`, который вызовет `cwltool`. Вы должны " +"получить те же результаты и вывод, что и в предыдущем разделе." + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "Проверка `true.cwl` с помощью `cwl-runner`." + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "Запуск `true.cwl` с помощью `cwl-runner`." + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" +"Другой способ выполнить `cwl-runner` - вызвать файл напрямую. Для этого вам " +"нужно скопировать рабочий процесс `true.cwl` в новый файл: `true_shebang.cwl`" +", и включить в него специальную первую строку, *shebang*:" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +#, fuzzy +msgid "`true_shebang.cwl`" +msgstr "`true_shebang.cwl`" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" +"Теперь вы можете сделать файл `true_shebang.cwl` исполняемым с помощью `" +"chmod u+x`." + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "Создание исполняемого файла `true.cwl`." + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" +"И, наконец, вы можете выполнить его непосредственно в командной строке. При " +"выполнении программа, указанная в shebang (`cwl-runner`), будет использована " +"для выполнения остальной части файла." + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "Запуск `true_shebang.cwl` с шебангом." + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" +"*Шебанг* - это двухсимвольная последовательность `#!` в начале сценария. " +"Если сценарий является исполняемым, операционная система выполнит его с " +"помощью исполняемого файла, указанного после shebang. Считается хорошей " +"практикой использовать `/usr/bin/env `, а не жестко заданное " +"местоположение, поскольку `/usr/bin/env ` ищет программу " +"`` в системном `PATH`," + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "Текстовый редактор" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" +"Вы можете использовать любой текстовый редактор с CWL, но для подсветки " +"синтаксиса мы рекомендуем редактор с поддержкой YAML. Популярными " +"редакторами являются Visual Studio Code, Sublime, WebStorm, vim/neovim и " +"Emacs." + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" +"Существуют расширения для Visual Studio Code и WebStorm, обеспечивающие " +"интеграцию с CWL, а также такие функции, как настраиваемая подсветка " +"синтаксиса и улучшенное автозаполнение:" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" +"Visual Studio Code с плагином Benten (CWL) - " + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" +"cwl-плагин для IntelliJ - " + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" +"Сообщество CWL также поддерживает список редакторов и зрителей: " + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" +"`cwltool` использует Docker для запуска инструментов, рабочих процессов и " +"шагов рабочего процесса, которые определяют программный контейнер. Следуйте " +"инструкциям в документации Docker, чтобы установить его для вашей " +"операционной системы: ." + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" +"Вам не нужно знать, как писать и собирать контейнеры Docker. В остальной " +"части руководства мы будем использовать существующие образы Docker для " +"запуска примеров, а также для пояснения различий между моделями выполнения с " +"контейнерами и без них." + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" +"`cwltool` поддерживает запуск контейнеров с помощью Docker, Podman, udocker " +"и Singularity. Вы также можете использовать альтернативные реестры " +"контейнеров для получения образов." + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" +"Тема [Реализации](basic-concepts.md#implementations) в следующем разделе, " +"Основные концепции." + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "Модуль Python `venv`: " + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "Быстрый старт" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" +"В этом разделе вы найдете краткий обзор того, что такое CWL, и узнаете, где " +"можно узнать о нем больше. Никаких предварительных знаний о CWL не " +"требуется, но вам должно быть удобно выполнять инструкции для командной " +"строки." + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "\"Здравствуй, мир\"" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" +"Документы CWL записываются в формате [YAML](../topics/index.md) (и/или JSON)" +". В примере ниже показан простой CWL-документ \"Hello World\", снабженный " +"комментариями. Обратите внимание, что комментарии начинаются с `#`:" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +#, fuzzy +msgid "`hello_world.cwl`" +msgstr "`hello_world.cwl`" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" +"Приведенный выше пример - это просто обертка для инструмента командной " +"строки `echo`. Запуск приведенного выше рабочего процесса с входными " +"значениями по умолчанию даст тот же результат, что и командная строка `echo " +"\"Hello World\"`." + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" +"В CWL существует различие между инструментом командной строки и рабочим " +"процессом. Но для простоты мы используем здесь термин \"рабочий процесс\". " +"Подробнее об этом вы узнаете в разделе [основные понятия](basic-concepts.md)." + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "Установка программы CWL Runner" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" +"`cwltool` - это реализация спецификации CWL. Он также является CWL *" +"Reference Runner* для этой спецификации и совместим с последней версией " +"спецификации: {{ cwl_version }}. Вы можете установить `cwltool` с помощью " +"`pip`:" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "Установка `cwltool` с `pip`." + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" +"Если установка cwltool с помощью команды pip вам не подходит, в разделе " +"[prerequisites](prerequisites.md) приведены другие способы установки " +"`cwltool` и более подробный список программного обеспечения и библиотек, " +"используемых в остальной части этого руководства пользователя." + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "Запуск \"Hello World\"" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" +"Исполняемый модуль командной строки `cwltool` используется в основном как `" +"cwltool [OPTIONS] [INPUTS_OBJECT]`. Вы можете запустить " +"рабочий процесс `hello_world.cwl`, не указывая никаких опций:" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "Запуск `hello_world.cwl` с помощью `cwltool`." + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" +"Или вы можете переопределить значение по умолчанию входного параметра " +"`message`, подобно тому, как вы изменяете аргумент базовой команды `echo`:" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" +"Запуск `hello_world.cwl` с помощью `cwltool` с передачей входного параметра." + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" +"Другой способ передачи значений входным параметрам рабочего процесса - через " +"объект *Inputs Object*. Это файл, содержащий поля ввода с соответствующими " +"значениями. Файл Inputs Objects может быть записан в формате JSON или YAML. " +"Например:" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +#, fuzzy +msgid "`hello_world-job.json`" +msgstr "`hello_world-job.json`" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" +"Теперь вы можете использовать этот файл Inputs Object для выполнения " +"рабочего процесса \"Hello World\":" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "Передача файла Inputs Object в `cwltool`." + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" +"Мы использовали одинаковые имена файлов для рабочего процесса и для файлов " +"объектов ввода. Суффикс *-job.json* очень часто встречается в файлах Inputs " +"Object, но это не обязательное условие. Вы можете выбрать любое имя для " +"своих рабочих процессов и файлов Inputs Object." + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "Продолжайте читать следующие разделы этого руководства пользователя!" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "[Список реализаций CWL](https://www.commonwl.org/implementations)." + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" +"Организация [`common-workflow-language`](https://github.com/common-workflow-" +"language) на GitHub." + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +#, fuzzy +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/" +"Common_Workflow_Language)." + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) и [YAML at Wikipedia](https://en.wikipedia.org/" +"wiki/YAML)." + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" +"В качестве источника информации используется {{'[ВЕРСИЯ спецификации CWL]" +"(https://www.commonwl.org/VERSION)'.replace('ВЕРСИЯ', cwl_version_text)}}." + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" +"[Система управления рабочими процессами в Википедии](https://" +"en.wikipedia.org/wiki/Workflow_management_system)." + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" +"Эта страница устарела и была оставлена здесь, чтобы сохранить ссылки на " +"старое руководство пользователя. Информация на этой странице была перенесена " +"в раздел [FAQ](/faq.md) нового руководства пользователя." + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "Дополнительные аргументы и параметры" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" +"Иногда инструменты требуют дополнительных опций командной строки, которые не " +"совсем соответствуют входным параметрам." + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" +"В этом примере мы обернем компилятор Java, чтобы скомпилировать исходный " +"файл java в файл класса. По умолчанию \"javac\" создаст файлы классов в том " +"же каталоге, что и исходный файл. Однако входные файлы CWL (и каталоги, в " +"которых они находятся) могут быть доступны только для чтения, поэтому нам " +"нужно указать \"javac\" записать файл класса в указанный выходной каталог." + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +#, fuzzy +msgid "`arguments.cwl`" +msgstr "`arguments.cwl`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +#, fuzzy +msgid "`arguments-job.yml`" +msgstr "`arguments-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" +"Далее создайте пример Java-файла для использования с инструментом командной " +"строки." + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"А теперь вызовите `cwltool`, указав в командной строке описание инструмента " +"и объект ввода:" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" +"Здесь мы используем поле `arguments`, чтобы добавить в командную строку " +"дополнительный аргумент, который не привязан к конкретному входному " +"параметру." + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" +"Этот пример ссылается на параметр времени выполнения. Параметры времени " +"выполнения предоставляют информацию об аппаратном или программном окружении, " +"когда инструмент фактически выполняется. Параметр `$(runtime.outdir)` - это " +"путь к указанному каталогу вывода. Другие параметры включают " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)` и `$(runtime.tmpdirSize)`. Подробности см. в " +"разделе [Runtime Environment][runtime] спецификации CWL." + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "Передовая практика" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following 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: although more is better, not all are required." +msgstr "" +"Ниже приведен набор рекомендуемых передовых методов, которые следует иметь в " +"виду при написании описания инструмента или рабочего процесса на языке " +"Common Workflow Language. Эти рекомендации представлены для рассмотрения по " +"шкале полезности: хотя больше - значит лучше, не все из них обязательны." + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" +"Нет параметров `type: string` для имен входных или справочных " +"файлов/директорий; используйте `type: File` или `type: Directory` в " +"зависимости от ситуации." + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" +"Документ CWL (в сочетании с любыми внешними компонентами, такими как " +"`Dockerfile`) является программным кодом. Разработчики рабочих процессов " +"должны знать, что к этому документу применяются обычные правила " +"лицензирования программного обеспечения. Например, если рабочий процесс " +"выкладывается в открытый доступ, условия лицензирования должны быть понятны, " +"чтобы будущий пользователь понимал, при каких условиях он может запускать " +"рабочий процесс, изменять его и/или комбинировать с другими рабочими " +"процессами. По этой причине рассмотрите возможность включения в документ " +"поля лицензии. Авторы этого руководства настоятельно рекомендуют вам выбрать " +"уже существующую лицензию, а не пытаться написать свою собственную (см. " +"ссылку ниже, чтобы узнать больше о выборе лицензии). Мы рекомендуем выбирать " +"лицензию, которая позволяет повторное использование любым пользователем, " +"например [Apache 2.0][apache-license]." + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" +"Если возможно, лицензия должна быть указана с соответствующим " +"[SPDX-идентификатором][spdx]. Создайте поле метаданных для лицензии, указав " +"URL вида `https://spdx.org/licenses/[SPDX-ID]`, где `SPDX-ID` берется из " +"списка идентификаторов, приведенного выше. См. пример фрагмента ниже. Для " +"нестандартных лицензий без идентификатора SPDX укажите URL-адрес лицензии." + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" +"Полезное чтение: \"[Краткое руководство по лицензированию программного " +"обеспечения для ученого-программиста][sci-license]\"" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "_Пример поля метаданных для лицензии с идентификатором SPDX:_" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" +"Другие примеры предоставления метаданных в описаниях CWL см. в " +"[разделе \"Метаданные и авторство\" данного руководства пользователя](../" +"topics/metadata-and-authorship.md)." + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" +"Включите [информацию об авторстве][license-example] для автора(ов) описания " +"инструмента CWL или рабочего процесса. Используйте однозначные " +"идентификаторы, например [ORCID][orcid]." + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" +"В описаниях инструментов перечисляйте зависимости, используя краткое " +"название (названия) в разделе `SoftwareRequirement`." + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" +"Включите идентификаторы [SciCrunch][scicrunch] для зависимостей в формате " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN`." + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" +"Все идентификаторы `ввода` и `вывода` должны отражать их концептуальную " +"идентичность. Используйте информативные имена типа `unaligned_sequences`, " +"`reference_genome`, `phylogeny` или `aligned_sequences` вместо `foo_input`, " +"`foo_file`, `result`, `input`, `output` и так далее." + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" +"В описаниях инструментов в разделе `SoftwareRequirement` указывайте список " +"версий инструмента, которые, как известно, работают с данным описанием." + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" +"`Формат` должен быть указан для всех входных и выходных `файлов`. " +"Инструменты биоинформатики должны использовать идентификаторы формата из " +"[EDAM][edam-example]. См. также `iana:text/plain`, `iana:text/tab-separated-" +"values` с `$namespaces: { iana: " +"\"https://www.iana.org/assignments/media-types//" }`. " +"[Полный список медиатипов IANA][iana-types] (также известные как типы MIME). " +"Для инструментов, не относящихся к биоинформатике, используйте или создайте " +"соответствующую онтологию/контролируемый словарь таким же образом. " +"Пожалуйста, отредактируйте эту страницу, чтобы сообщить нам об этом." + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" +"Пометьте все входные и выходные `файлы`, которые считываются или " +"записываются совместимым с потоковой передачей способом (только один раз, " +"без случайного доступа), как `streamable: true`." + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" +"Описание каждого инструмента `CommandLineTool` должно быть сфокусировано " +"только на одной операции, даже если (под)команда способна на большее. Не " +"усложняйте описание инструментов опциями, которые вам не нужны или не " +"используются." + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" +"Пользовательские типы должны быть определены с помощью одного внешнего YAML " +"для каждого определения типа для повторного использования." + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" +"Включите краткую `метку` верхнего уровня, кратко описывающую инструмент/" +"рабочий процесс." + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "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)." +msgstr "" +"Если это полезно, включите также верхнеуровневый `doc`. Он должен содержать " +"более длинное и подробное описание, чем то, которое было представлено в " +"`label` верхнего уровня (см. выше)." + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" +"Используйте `type: enum` вместо `type: string` для элементов с фиксированным " +"списком допустимых значений." + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "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][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" +"Проанализируйте все случаи использования JavaScript на предмет возможного " +"исключения или замены. Один из распространенных примеров: манипулирование " +"именами и путями к `файлам`? Подумайте, можно ли вместо этого использовать " +"одно из [встроенных свойств `File`][file-prop], например `basename`, " +"`nameroot`, `nameext` и т. д." + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" +"Дайте описание инструмента коллеге (желательно в другом учреждении), чтобы " +"он протестировал его и предоставил отзывы." + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" +"Сложные рабочие процессы с отдельными компонентами, которые могут быть " +"абстрагированы, должны использовать [`SubworkflowFeatureRequirement`]" +"[subworkflow], чтобы сделать их модульными и позволить легко использовать их " +"части повторно." + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" +"Контейнеры для программного обеспечения должны соответствовать [" +"\"Рекомендациям по упаковке и контейнеризации программного обеспечения для " +"биоинформатики\"][containers] (также полезны для других дисциплин)." + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "Инструмент командной строки" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" +"Инструмент командной строки - это тип объекта Process, который можно " +"запускать самостоятельно или в качестве шага Workflow. Он представляет собой " +"обертку для таких команд, как `ls`, `echo`, `tar` и т. д. Инструмент " +"командной строки определяется в атрибуте `baseCommand` документа CWL " +"инструмента командной строки." + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" +"Инструмент командной строки CWL также должен иметь `входы` и `выходы`. " +"Следующий пример содержит минимальный пример инструмента командной строки " +"CWL для команды `echo` Linux, использующий входы и выходы." + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "Инструмент командной строки CWL." + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +#, fuzzy +msgid "`echo.cwl`" +msgstr "`echo.cwl`" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" +"В приведенном примере используется упрощенная форма для определения входов и " +"выходов. Подробнее об этом вы узнаете в разделах [Inputs](../topics/" +"inputs.md) и [Outputs](../topics/outputs.md)." + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "Доступ к сети" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" +"Указывает, требуется ли процессу исходящий доступ к сети IPv4/IPv6. Если " +"инструмент командной строки написан вручную в CWL v1.1+, необходимо указать, " +"когда требуется доступ к сети." + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" +"Инструменты командной строки CWL v1.0, обновленные до v1.1 или v1.2, " +"получают доступ к сети автоматически." + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "Создание файлов во время выполнения" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" +"Иногда требуется создать файл на лету из входных параметров, например, для " +"инструментов, которые ожидают, что их входная конфигурация будет считана из " +"файла, а не из параметров командной строки, или для небольших сценариев " +"оболочки-обертки." + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" +"Для генерации таких файлов мы можем использовать `InitialWorkDirRequirement`." + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +#, fuzzy +msgid "`createfile.cwl`" +msgstr "`createfile.cwl`" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" +"Любые [выражения](../topics/expressions.md) типа `$(inputs.message)` " +"расширяются движком CWL перед созданием файла. Здесь вставьте значение во " +"входной `message`." + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" +"Выражения _CWL_ не зависят от переменных оболочки, используемых в дальнейшем " +"при вызове инструментов командной строки. Это означает, что любая реальная " +"потребность в символе `$` должна быть **эскейпирована** с помощью `\\`. " +"Например, `\\${PREFIX}` выше расширено до `${PREFIX}` в сгенерированном " +"файле, чтобы быть оцененным сценарием оболочки, а не движком CWL." + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" +"Чтобы протестировать вышеупомянутый инструмент CWL, используйте это задание " +"для предоставления входного значения `message`:" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +#, fuzzy +msgid "`echo-job.yml`" +msgstr "`echo-job.yml`" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" +"Прежде чем приступить к выполнению, давайте рассмотрим каждый шаг немного " +"подробнее. Базовая команда `baseCommand: [\"sh\", \"example.sh\"]` выполнит " +"команду `sh example.sh`. Это приведет к запуску файла, который мы создали в " +"оболочке." + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" +"Для `InitialWorkDirRequirement` требуется `список`. Поскольку `список` - это " +"массив YAML, нам нужен `-` в первой строке каждого элемента массива, в " +"данном случае у нас только один элемент. `Имя входа:` может иметь любое " +"значение, но оно должно совпадать с тем, что было указано в `базовой команде`" +". Последняя часть - `entry:`, за ней следует `|-`, что является синтаксисом " +"кавычек YAML и означает, что вы используете многострочную строку (без этого " +"нам пришлось бы писать весь скрипт в одну строку)." + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" +"Подробнее о форматировании см. в [Руководстве по YAML](../topics/yaml-" +"guide.md#maps)." + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"Теперь вызовите `cwltool` с описанием инструмента и входным объектом в " +"командной строке:" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "Пользовательские типы" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" +"Иногда вы можете захотеть написать собственные пользовательские типы для " +"использования в описаниях CWL. Использование таких пользовательских типов " +"может уменьшить избыточность между несколькими описаниями, использующими " +"один и тот же тип, а также позволяет дополнительно настраивать/" +"конфигурировать инструмент/анализ, не прибегая к непосредственной работе с " +"описанием CWL." + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" +"Ниже приведен пример CWL-описания инструмента [biom convert format][biom] " +"для преобразования стандартного файла таблицы biom в формат hdf5." + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +#, fuzzy +msgid "`custom-types.cwl`" +msgstr "`custom-types.cwl`" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +#, fuzzy +msgid "`custom-types.yml`" +msgstr "`custom-types.yml`" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" +"___Примечание:___Чтобы следовать приведенному ниже примеру, вам необходимо " +"[скачать входной файл примера](https://github.com/common-workflow-language/" +"user_guide/blob/main/src/_includes/cwl/custom-types/" +"rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom*, например, с " +"помощью `wget`:" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" +"В строке 29 в `inputs:table_type` в качестве пользовательского объекта " +"импортируется список допустимых параметров таблицы, которые будут " +"использоваться при преобразовании таблицы:" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" +"Ссылка на пользовательский тип представляет собой комбинацию имени файла, в " +"котором определен объект (`biom-convert-table.yaml`), и имени объекта в этом " +"файле (`table_type`), определяющего пользовательский тип. В этом случае " +"массив `символов` из импортированного файла `biom-convert-table.yaml` " +"определяет допустимые опции таблицы. Например, в `custom-types.yml` мы " +"передаем `OTU table` в качестве `входа`, который указывает инструменту " +"создать таблицу OTU в формате hdf5." + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" +"Ниже приведено содержимое YAML-файла, описывающего пользовательский тип:" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +#, fuzzy +msgid "`biom-convert-table.yaml`" +msgstr "`biom-convert-table.yaml`" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" +"Чтобы пользовательский тип мог использоваться в описании CWL, он должен быть " +"импортирован. Импорт описывается в `requirements:SchemaDefRequirement`, как " +"показано ниже в примере описания `custom-types.cwl`:" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" +"Обратите внимание, что автор описания CWL также включил в него " +"`ResourceRequirement`, указав минимальный объем оперативной памяти и " +"количество ядер, необходимых для успешной работы инструмента, а также " +"сведения о версии программного обеспечения, для которого было написано " +"описание, и другие полезные метаданные. Более подробно эти функции " +"рассматриваются в других главах данного руководства пользователя." + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "Переменные среды" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" +"Инструменты работают в ограниченном окружении и не наследуют большинство " +"переменных окружения от родительского процесса. Вы можете задать переменные " +"окружения для инструмента с помощью `EnvVarRequirement`." + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +#, fuzzy +msgid "`env.cwl`" +msgstr "`env.cwl`" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "Экспресс-инструмент" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" +"Инструмент выражения - это тип процесса, который можно запускать " +"самостоятельно или в качестве шага рабочего процесса. Он выполняет чистое " +"выражение JavaScript. Его можно использовать как способ изолировать сложные " +"выражения JavaScript, которые должны оперировать входными данными и выдавать " +"на выходе некоторый результат." + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" +"Как и инструмент командной строки, он требует `входов` и `выходов`. Но " +"вместо `baseCommand` ему требуется атрибут `expression`." + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "Средство выражения CWL." + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +#, fuzzy +msgid "`uppercase.cwl`" +msgstr "`uppercase.cwl`" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" +"Мы должны были использовать `InlineJavascriptRequirement`, поскольку наше " +"выражение содержит вызов JavaScript в `.toUpperCase()`. Это означает для " +"инструментов, использующих инструмент выражения, что JavaScript является " +"требованием." + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "Выражения" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" +"Если вам нужно манипулировать входными параметрами, включите требование " +"`InlineJavascriptRequirement`, а затем везде, где ссылка на параметр " +"является законной, вы можете предоставить фрагмент Javascript, который будет " +"оценен CWL runner'ом." + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" +"Выражения JavaScript следует использовать только в случае крайней " +"необходимости. При манипуляциях с именами файлов, расширениями, путями и т. " +"д. подумайте, нельзя ли вместо этого использовать одно из " +"[встроенных свойств `File`][file-prop], например `basename`, `nameroot`, " +"`nameext` и т. д. См. [список лучших практик](best-practices.md)." + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +#, fuzzy +msgid "`expression.cwl`" +msgstr "`expression.cwl`" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" +"Поскольку этот инструмент не требует никаких `входных данных`, мы можем " +"запустить его с (почти) пустым файлом задания:" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +#, fuzzy +msgid "`empty.yml`" +msgstr "`empty.yml`" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" +"`empty.yml` содержит описание пустого JSON-объекта. Описания JSON-объектов " +"содержатся внутри фигурных скобок `{}`, поэтому пустой объект представляется " +"просто набором пустых скобок." + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "Затем мы можем запустить `expression.cwl`:" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "Запуск `expression.cwl`" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" +"Обратите внимание, что требования могут быть представлены с помощью " +"синтаксиса map, как в примере выше:" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" +"Или в виде массива, в котором каждая запись (в данном случае только `class: " +"InlineJavascriptRequirement`) отмечена символом `-`. Тот же синтаксис " +"используется для описания дополнительных аргументов командной строки." + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "Где разрешены выражения JavaScript?" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" +"Так же, как и [ссылки на параметры](parameter-references.md), вы можете " +"использовать выражения JavaScript только в определенных полях. К ним " +"относятся:" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"Из [`CommandLineTool`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineTool)" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "`аргументы`" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +#, fuzzy +msgid "`valueFrom`" +msgstr "`valueFrom`" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +#, fuzzy +msgid "`stdin`" +msgstr "`stdin`" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +#, fuzzy +msgid "`stdout`" +msgstr "`stdout`" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +#, fuzzy +msgid "`stderr`" +msgstr "`stderr`" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"Из [CommandInputParameter](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandInputParameter)" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "`формат`" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +#, fuzzy +msgid "`secondaryFiles`" +msgstr "`secondaryFiles`" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"Из [`inputBinding`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineBinding)" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"Из [CommandOutputParamater](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputParameter)" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"Из [CommandOutputBinding](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputBinding)" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +#, fuzzy +msgid "`glob`" +msgstr "`glob`" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +#, fuzzy +msgid "`outputEval`" +msgstr "`outputEval`" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "Из `Рабочего процесса`" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"Из [InputParameter](https://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) и [WorkflowOutputParameter](https://" +"www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "От `шагов`" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"Из [WorkflowStepInput](https://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" +"Из [ExpressionTool](https://www.commonwl.org/v1.0/" +"Workflow.html#ExpressionTool)" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "`выражение`" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"Из [InputParameter](https://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) и [ExpressionToolOutputParameter](https://" +"www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"Из [`ResourceRequirement`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#ResourceRequirement)" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +#, fuzzy +msgid "`coresMin`" +msgstr "`coresMin`" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +#, fuzzy +msgid "`coresMax`" +msgstr "`coresMax`" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +#, fuzzy +msgid "`ramMin`" +msgstr "`ramMin`" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +#, fuzzy +msgid "`ramMax`" +msgstr "`ramMax`" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +#, fuzzy +msgid "`tmpdirMin`" +msgstr "`tmpdirMin`" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +#, fuzzy +msgid "`tmpdirMax`" +msgstr "`tmpdirMax`" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +#, fuzzy +msgid "`outdirMin`" +msgstr "`outdirMin`" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +#, fuzzy +msgid "`outdirMax`" +msgstr "`outdirMax`" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"Из [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement)" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "`список`" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "в [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "`вход`" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +#, fuzzy +msgid "`entryname`" +msgstr "`entryname`" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "Из `EnvVarRequirement`" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"Из [EnvironmentDef](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#EnvironmentDef)" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +#, fuzzy +msgid "`envValue`" +msgstr "`envValue`" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" +"Использование внешних библиотек и встроенного кода JavaScript с помощью " +"`expressionLib`" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" +"Требование `InlineJavascriptRequirement` поддерживает атрибут `expressionLib`" +", который позволяет пользователям загружать внешние файлы JavaScript или " +"предоставлять встроенный код JavaScript." + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" +"Записи, добавленные в атрибут `expressionLib`, анализируются JavaScript-" +"движком программы запуска CWL. Это может быть использовано для включения " +"внешних файлов или создания функций JavaScript, которые могут быть вызваны в " +"других частях документа CWL." + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" +"В стандартах CWL (версии 1.0 - 1.2) [указано](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#Expressions), что единственной версией JavaScript, " +"допустимой в выражениях CWL, является [ECMAScript 5.1](https://" +"262.ecma-international.org/5.1/). Это означает, что любой код, который вы " +"включаете или пишете в документе CWL, должен соответствовать ECMAScript 5.1." + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" +"Например, мы можем использовать `InlineJavascriptRequirement` и записать " +"функцию JavaScript в строку в `expressionLib`. Затем эта функция может быть " +"использована в других частях документа CWL:" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +#, fuzzy +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "`hello-world-expressionlib-inline.cwl`" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" +"Запуск этого рабочего процесса CWL вызовет функцию JavaScript и приведет к " +"тому, что команда `echo` напечатает входное сообщение с заглавными буквами:" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "Запуск `hello-world-expressionlib-inline.cwl`." + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" +"Давайте перенесем функцию `capitalizeWords` во внешний файл, `custom-" +"functions.js`, и импортируем ее в наш CWL-документ:" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +#, fuzzy +msgid "`custom-functions.js`" +msgstr "`custom-functions.js`" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +#, fuzzy +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "`hello-world-expressionlib-external.cwl`" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" +"Файл `custom-functions.js` включается в документ CWL с помощью оператора " +"`$include: custom-functions.js`. Это делает функции и переменные доступными " +"для использования в других частях документа CWL." + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "Запускаем `hello-world-expressionlib-external.cwl`." + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" +"Наконец, обратите внимание, что в документе CWL может присутствовать как " +"встроенный, так и внешний код JavaScript. В этом последнем примере мы " +"добавили еще одну запись в атрибут `expressionLib` с новой функцией " +"`createHelloWorldMessage`, которая вызывает функцию `capitalizeWords` из " +"внешнего файла `custom-functions.js`." + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +#, fuzzy +msgid "`hello-world-expressionlib.cwl`" +msgstr "`hello-world-expressionlib.cwl`" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "Запуск `hello-world-expressionlib.cwl`." + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" +"Оператор `$include` можно использовать для включения файла с локального " +"диска или из удаленного места. Он работает как с относительными, так и с " +"абсолютными путями. Прочитайте [текст о `$include`](https://www.commonwl.org/" +"v1.0/SchemaSalad.html#Include) из спецификации CWL, чтобы узнать о нем " +"больше." + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "Форматы файлов" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" +"Инструменты и рабочие процессы могут принимать типы `File` на вход и " +"выдавать их на выход. Мы также рекомендуем указывать формат типов `File`. " +"Это поможет задокументировать другим, как использовать ваш инструмент, а вам " +"позволит выполнить простую проверку типов при создании файлов параметров." + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" +"В отношении форматов файлов мы рекомендуем ссылаться на существующие " +"онтологии (например, EDAM в нашем примере), ссылаться на локальную онтологию " +"вашего учреждения или не добавлять формат файла изначально, чтобы быстро " +"разработать его, прежде чем предоставлять свой инструмент другим. Вы можете " +"просмотреть существующие списки [IANA file format listings][IANA] и " +"[EDAM file format listings][EDAM] на их веб-сайтах." + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" +"В следующем уроке мы более подробно расскажем о разделах `$namespaces` и " +"`$schemas`, так что пока не беспокойтесь об этом." + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" +"Обратите внимание, что для дополнительной пользы `cwltool` может выполнять " +"некоторые базовые рассуждения на основе форматов файлов и предупреждать вас, " +"если есть очевидные несоответствия." + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +#, fuzzy +msgid "`metadata_example.cwl`" +msgstr "`metadata_example.cwl`" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "Эквивалентом этого описания CWL в формате командной строки является:" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "Образцы файлов параметров" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" +"Ниже приведен пример файла параметров для приведенного выше примера. Мы " +"рекомендуем присылать рабочие примеры файлов параметров для вашего " +"инструмента. Это позволит другим быстро работать с вашим инструментом, " +"начиная с \"заведомо хорошей\" параметризации." + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +#, fuzzy +msgid "`sample.yml`" +msgstr "`sample.yml`" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" +"___Примечание:___ Чтобы выполнить приведенный ниже пример, необходимо " +"загрузить входной файл примера, *file-formats.bam*. Этот файл доступен по " +"адресу и может быть загружен, " +"например, с помощью `wget`:" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "Темы" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "Входы" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "Основные входные параметры" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" +"В `входах` инструмента содержится список входных параметров, которые " +"определяют, как запустить инструмент. Каждый параметр имеет `id` для " +"названия параметра и `type`, описывающий, какие типы значений допустимы для " +"этого параметра." + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" +"Доступные примитивные типы - *string*, *int*, *long*, *float*, *double* и " +"*null*; сложные типы - *array* и *record*; кроме того, есть специальные типы " +"*File*, *Directory* и *Any*." + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" +"Следующий пример демонстрирует некоторые входные параметры, имеющие " +"различные типы и по-разному отображающиеся в командной строке." + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "Сначала создайте файл `inp.cwl`, содержащий следующее:" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +#, fuzzy +msgid "`inp.cwl`" +msgstr "`inp.cwl`" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "Создайте файл с именем `inp-job.yml`:" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +#, fuzzy +msgid "`inp-job.yml`" +msgstr "`inp-job.yml`" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" +"Вы можете использовать `cwltool` для создания шаблонного объекта ввода. Это " +"избавит вас от необходимости вводить все входные параметры в файл объекта " +"ввода:" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" +"Вы можете перенаправить вывод в файл, например, `cwltool --make-template " +"inp.cwl > inp-job.yml`, а затем изменить значения по умолчанию на нужные вам " +"входные значения." + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" +"Обратите внимание, что \"example_file\", как тип `File`, должен быть " +"предоставлен в виде объекта с полями `class: File` и `path`." + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "" +"Затем создайте файл whale.txt с помощью [touch], набрав в командной строке `" +"touch whale.txt`." + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" +"Теперь вызовите `cwltool` с описанием инструмента и входным объектом в " +"командной строке, используя команду `cwltool inp.cwl inp-job.yml`. В " +"следующем тексте в рамке описаны эти две команды и ожидаемый вывод из " +"командной строки:" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" +"Программа запуска ссылок на CWL (cwltool) и другие программы создают " +"временные каталоги с символическими (\"мягкими\") ссылками на ваши входные " +"файлы, чтобы гарантировать, что инструменты не получат случайный доступ к " +"файлам, которые не были явно указаны" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" +"Поле `inputBinding` является необязательным и указывает, должен ли входной " +"параметр отображаться в командной строке инструмента. Если `inputBinding` " +"отсутствует, параметр не отображается в командной строке. Давайте " +"рассмотрим каждый пример подробнее." + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" +"Булевы типы рассматриваются как флаг. Если входной параметр \"example_flag\"" +" равен \"true\", то в командную строку будет добавлен `prefix`. Если false, " +"то флаг не добавляется." + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" +"Строковые типы отображаются в командной строке как литеральные значения. " +"Префикс ` необязателен, если он указан, то отображается как отдельный " +"аргумент в командной строке перед параметром . В приведенном выше примере " +"это выглядит как `--пример строки hello`." + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" +"Целочисленные типы (и типы с плавающей точкой) отображаются в командной " +"строке в десятичном текстовом представлении. Когда опция `separate` равна " +"false (по умолчанию значение true), префикс и значение объединяются в один " +"аргумент. В приведенном выше примере это выглядит как `-i42`." + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" +"Типы файлов отображаются в командной строке в виде пути к файлу. Если тип " +"параметра заканчивается вопросительным знаком `?`, это означает, что " +"параметр необязателен. В приведенном выше примере это выглядит как `--file=/" +"tmp/random/path/whale.txt`. Однако если бы параметр \"example_file\" не был " +"указан во входных данных, в командной строке ничего бы не появилось." + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" +"Входные файлы доступны только для чтения. Если вы хотите обновить входной " +"файл, вы должны [сначала скопировать его в выходной каталог](staging-input-" +"files.md)." + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" +"Значение `position` используется для определения места появления параметра в " +"командной строке. Позиции являются относительными друг к другу, а не " +"абсолютными. В результате, позиции не обязательно должны быть " +"последовательными, три параметра с позициями 1, 3, 5 приведут к той же " +"командной строке, что и 1, 2, 3. Более одного параметра могут иметь " +"одинаковую позицию (связи разрываются с помощью имени параметра), а само " +"поле позиции является необязательным. Позиция по умолчанию равна 0." + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" +"Поле `baseCommand` всегда будет отображаться в конечной командной строке " +"перед параметрами." + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "Входы массива" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" +"В командную строку легко добавлять массивы входных параметров, " +"представленных в виде массива. Существует два способа указать параметр " +"массива. Первый - указать поле `type` с `type: array` и `items`, " +"определяющими допустимые типы данных, которые могут присутствовать в " +"массиве. В качестве альтернативы после имени типа можно добавить скобки `[]`" +", чтобы указать, что входной параметр является массивом данного типа." + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +#, fuzzy +msgid "`array-inputs.cwl`" +msgstr "`array-inputs.cwl`" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +#, fuzzy +msgid "`array-inputs-job.yml`" +msgstr "`array-inputs-job.yml`" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"Теперь вызовите `cwltool`, указав в командной строке описание инструмента и " +"входной объект:" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" +"Поле `inputBinding` может находиться как в определении внешнего параметра " +"массива, так и в определении внутреннего элемента массива, что приводит к " +"различному поведению при построении командной строки, как показано выше. " +"Кроме того, поле `itemSeparator`, если оно задано, указывает, что значения " +"массива должны быть объединены в один аргумент, разделенный строкой-" +"разделителем элементов." + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" +"Обратите внимание, что массивы входных данных указываются внутри квадратных " +"скобок `[]` в файле `array-inputs-job.yml`. Массивы также могут быть " +"выражены в нескольких строках, при этом значения массива, которые не " +"определены с соответствующим ключом, помечаются ведущим `-`. Это будет " +"продемонстрировано в следующем уроке и более подробно рассмотрено в " +"[Руководстве по YAML](yaml-guide.md#arrays). Вы можете указывать массивы " +"массивов, массивы записей и другие сложные типы." + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "Инклюзивные и эксклюзивные входы" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" +"Иногда базовый инструмент имеет несколько аргументов, которые должны быть " +"предоставлены вместе (они зависимы) или несколько аргументов, которые не " +"могут быть предоставлены вместе (они исключительны). Для описания этих двух " +"условий можно использовать записи и объединения типов, чтобы сгруппировать " +"параметры." + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +#, fuzzy +msgid "`record.cwl`" +msgstr "`record.cwl`" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +#, fuzzy +msgid "`record-job1.yml`" +msgstr "`record-job1.yml`" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" +"В первом примере вы не можете предоставить `пунктА`, не предоставив также " +"`пунктВ`." + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +#, fuzzy +msgid "`record-job2.yml`" +msgstr "`record-job2.yml`" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" +"Во втором примере `itemC` и `itemD` являются эксклюзивными, поэтому только " +"первый совпадающий элемент (`itemC`) будет добавлен в командную строку, а " +"оставшийся элемент (`itemD`) будет проигнорирован." + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +#, fuzzy +msgid "`record-job3.yml`" +msgstr "`record-job3.yml`" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" +"В третьем примере указан только `itemD`, поэтому он появляется в командной " +"строке." + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "Исключение входных параметров с помощью выражений" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" +"Если вы используете эксклюзивные входные параметры в сочетании с " +"выражениями, вы должны знать, что объект JavaScript `inputs` будет содержать " +"одно из эксклюзивных входных значений. Это означает, что вам может " +"понадобиться использовать булевый оператор **or**, чтобы проверить, какие " +"значения присутствуют." + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" +"Рассмотрим пример, содержащий эксклюзивный входной параметр `file_format`, " +"который принимает значение `null` (т.е. значение не предоставляется) или " +"любое значение из перечисления." + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +#, fuzzy +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`exclusive-parameter-expressions.cwl`" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" +"Обратите внимание, что выражение JavaScript использует значение " +"исключительного входного параметра, не принимая во внимание значение `null`. " +"Если вы предоставите корректное значение, например \"fasta\" (одно из " +"значений перечисления), ваша команда будет выполнена успешно:" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" +"Однако если вы не предоставите никакого входного значения, то `file_format` " +"будет оценен как `null`, что не соответствует ожидаемому типу выходного поля " +"(`string`), что приведет к неудаче при запуске рабочего процесса." + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" +"Чтобы исправить это, нужно не забывать использовать оператор or в выражении " +"JavaScript при использовании эксклюзивных параметров или любых параметров, " +"допускающих `null`. Например, выражение можно изменить на `$(" +"inputs.file_format || 'auto')`, чтобы иметь значение по умолчанию, если оно " +"не было указано в командной строке или входном файле задания." + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "Метаданные и авторство" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" +"Расширения реализации, не требуемые для корректного выполнения (например, " +"поля, связанные с представлением графического интерфейса), и метаданные о " +"самом инструменте или рабочем процессе (например, авторство для " +"использования в цитировании) могут быть предоставлены в качестве " +"дополнительных полей любого объекта. Такие поля расширения (например, " +"`format: edam:format_2572`) могут использовать префикс пространства имен, " +"перечисленный в разделе `$namespaces` документа (например, edam: http://" +"edamontology.org/), как описано в [Schema Salad specification][schema-salad]" +". После добавления префикса пространства имен вы можете обращаться к нему в " +"любом месте документа, как показано ниже. В противном случае необходимо " +"использовать полные URL: `формат: http://edamontology.org/format_2572`." + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" +"Для всех разработчиков мы рекомендуем следующие минимальные метаданные для " +"вашего инструмента и рабочих процессов. Этот пример включает метаданные, " +"позволяющие другим пользователям ссылаться на ваш инструмент." + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +#, fuzzy +msgid "`metadata_example2.cwl`" +msgstr "`metadata_example2.cwl`" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "Расширенный пример" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" +"Для тех, кто очень мотивирован, есть возможность аннотировать свой " +"инструмент гораздо большим количеством метаданных. Этот пример включает теги " +"онтологии EDAM в качестве ключевых слов (что позволяет группировать " +"связанные инструменты), намеки на требования к аппаратному обеспечению для " +"использования инструмента и еще несколько полей метаданных." + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +#, fuzzy +msgid "`metadata_example3.cwl`" +msgstr "`metadata_example3.cwl`" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "Операции" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" +"Операция - это тип процесса CWL, такой же, как рабочий процесс, инструмент " +"командной строки или инструмент выражений. Это шаг рабочего процесса, " +"который определяет входы и выходы, но не предоставляет достаточно информации " +"для выполнения." + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" +"Вы можете создавать операции для визуализации рабочего процесса во время " +"разработки, прежде чем вы будете готовы отправить рабочий процесс в CWL " +"runner:" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +#, fuzzy +msgid "`operations.cwl`" +msgstr "`operations.cwl`" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" +"Шаг `uppercase` рабочего процесса - это операция. Ее можно использовать как " +"инструмент командной строки или выражение. Вы также можете построить график " +"с помощью CWL Viewer или `cwltool`:" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" +"Вывод команды выше может быть отображен с помощью рендерера Graphviz. " +"Следующее изображение отображается с помощью директивы Sphinx Graphviz (это " +"руководство пользователя построено с помощью Sphinx):" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" +"Если вы попытаетесь запустить ее с помощью `cwltool`, команда завершится " +"неудачей, поскольку `cwltool` не имеет достаточно информации, чтобы понять, " +"как ее выполнить:" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "`cwltool` не знает, как выполнять операции" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" +"Исполнители CWL могут придумать способы привязки операций к конкретным " +"шагам. Например, CWL-прогонщик может использовать абстрактные операции с " +"идентификаторами, которые соответствуют шагам, выполняемым другим механизмом " +"рабочего процесса." + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "Выходы" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "Возвращение выходных файлов" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" +"Выходные данные\" инструмента - это список выходных параметров, которые " +"должны быть возвращены после выполнения инструмента. Каждый параметр имеет " +"`id` для имени параметра и `type`, описывающий, какие типы значений " +"допустимы для этого параметра." + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" +"Когда инструмент запускается под управлением CWL, начальным рабочим " +"каталогом является назначенный выходной каталог. Инструмент или сценарий " +"должен записывать свои результаты в виде файлов, созданных в выходном " +"каталоге. Выходные параметры, возвращаемые инструментом CWL, являются либо " +"самими выходными файлами, либо получены в результате изучения содержимого " +"этих файлов." + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" +"В следующем примере показано, как вернуть файл, извлеченный из tar-файла." + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "Передача обязательных аргументов в `baseCommand`" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" +"В предыдущих примерах `базовая команда` была просто строкой, а все аргументы " +"передавались как CWL-входы. Вместо одной строки мы можем использовать " +"_массив строк_. Первый элемент - это команда, которую нужно выполнить, а " +"все последующие элементы - обязательные аргументы командной строки" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +#, fuzzy +msgid "`tar.cwl`" +msgstr "`tar.cwl`" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +#, fuzzy +msgid "`tar-job.yml`" +msgstr "`tar-job.yml`" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "Затем создайте tar-файл для примера." + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"А теперь вызовите `cwltool` с описанием инструмента и входным объектом в " +"командной строке:" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" +"Поле `outputBinding` описывает, как установить значение каждого выходного " +"параметра." + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" +"Поле `glob` состоит из имени файла в выходном каталоге. Если вы не знаете " +"имя файла заранее, вы можете использовать подстановочный шаблон, например " +"`glob: '*.txt'`." + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "Захват стандартного вывода" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" +"Чтобы захватить стандартный поток вывода инструмента, добавьте поле `stdout` " +"с именем файла, в который должен попасть поток вывода. Затем добавьте `type:" +" stdout` в соответствующий параметр вывода." + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +#, fuzzy +msgid "`stdout.cwl`" +msgstr "`stdout.cwl`" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "Выходы массивов" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" +"Вы также можете объединить несколько выходных файлов в массив файлов с " +"помощью `glob`." + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +#, fuzzy +msgid "`array-outputs.cwl`" +msgstr "`array-outputs.cwl`" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +#, fuzzy +msgid "`array-outputs-job.yml`" +msgstr "`array-outputs-job.yml`" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" +"Как описано в [YAML Guide](yaml-guide.md#arrays), массив ожидаемых " +"результатов задается в `array-outputs-job.yml` с каждой записью, помеченной " +"ведущим `-`. Этот формат также может использоваться в описаниях CWL для " +"маркировки записей в массивах, как будет показано в нескольких последующих " +"разделах." + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "Ссылки на параметры" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" +"В предыдущем примере мы извлекли файл с помощью программы \"tar\". Однако " +"этот пример был очень ограниченным, поскольку предполагалось, что " +"интересующий нас файл называется \"hello.txt\", и он был записан в файл " +"`.cwl`. Это не самый лучший способ, поскольку имя файла \"hello.txt\" может " +"меняться или зависеть от используемого входного файла (файлов). Чтобы " +"избежать этого, мы можем указать имя нужного нам файла в файле параметров " +"задания (`.yml`). В этом примере вы увидите, как динамически ссылаться на " +"значение входных параметров из других полей, что позволит нам затем указать " +"имя файла для извлечения." + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +#, fuzzy +msgid "`tar-param.cwl`" +msgstr "`tar-param.cwl`" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +#, fuzzy +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"Создайте входные файлы и вызовите `cwltool` с описанием инструмента и " +"входным объектом в командной строке:" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" +"Некоторые поля допускают ссылки на параметры, заключенные в `$(...)`. Они " +"оцениваются и заменяются значением, на которое ссылаются." + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" +"Ссылки записываются с использованием подмножества синтаксиса Javascript. В " +"данном примере `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])` и " +"`$(inputs['extractfile'])` эквивалентны." + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" +"Значением переменной \"inputs\" является объект ввода, предоставленный при " +"вызове инструмента CWL." + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" +"Обратите внимание, что поскольку параметры `File` являются объектами, для " +"получения пути к входному файлу необходимо сослаться на поле path в файловом " +"объекте; чтобы сослаться на путь к tar-файлу в приведенном выше примере, " +"нужно написать `$(inputs.tarfile.path)`." + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "Где разрешены ссылки на параметры?" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" +"Ссылки на параметры можно использовать только в определенных полях. К ним " +"относятся:" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"Из [`CommandLineTool`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineTool)" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"Из [CommandInputParameter](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandInputParameter)" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"Из [`inputBinding`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineBinding)" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"Из [CommandOutputParamater](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputParameter)" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"Из [CommandOutputBinding](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputBinding)" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"Из [InputParameter](http://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) и [WorkflowOutputParameter](http://" +"www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"Из [WorkflowStepInput](http://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"Из [InputParameter](http://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) и [ExpressionToolOutputParameter](http://" +"www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"Из [`ResourceRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#ResourceRequirement)" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"Из [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement)" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "в [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"Из [EnvironmentDef](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#EnvironmentDef)" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "Требования и советы" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "Определение требований к программному обеспечению" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" +"Часто описания инструментов пишутся для определенной версии программного " +"обеспечения. Чтобы другим было проще использовать ваши описания, вы можете " +"включить поле `SoftwareRequirement` в раздел `hints`. Это также поможет " +"избежать путаницы в вопросе о том, для какой версии инструмента было " +"написано описание." + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" +"В данном примере описываемое программное обеспечение - это InterProScan " +"версии 5.21-60." + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" +"В зависимости от используемой программы запуска CWL, эти подсказки могут " +"использоваться для проверки того, что необходимое программное обеспечение " +"установлено и доступно до запуска задания. Чтобы включить эти проверки в " +"эталонной реализации, воспользуйтесь параметром " +"[dependency resolvers configuration][dependencies]." + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" +"Помимо номера версии, для инструмента указывается уникальный идентификатор " +"ресурса (URI) в виде [RRID][rrid]. Ресурсы с RRID могут быть найдены в " +"реестре [SciCrunch][scicrunch], который предоставляет портал для поиска, " +"отслеживания и последовательного обращения к научным ресурсам. Если вы " +"хотите указать инструмент в качестве `SoftwareRequirement`, найдите его на " +"SciCrunch и используйте RRID, присвоенный ему в реестре. (Следуйте этому " +"[Adding a Resource Tutorial][scicrunch-add-tool], чтобы добавить инструмент " +"в SciCrunch). Вы можете использовать этот RRID для ссылки на инструмент (" +"через [identifiers.org][identifiers]) в поле `specs` вашего описания " +"требований. Другими хорошими вариантами, в порядке предпочтения, являются " +"включение DOI для основного цитирования инструмента и URL-адреса инструмента." + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "Постановка входных файлов" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" +"Обычно входные файлы располагаются в каталоге, доступном только для чтения, " +"отдельно от выходного каталога. Это приводит к проблемам, если базовый " +"инструмент ожидает записи своих выходных файлов рядом с входным файлом в том " +"же каталоге. Вы используете `InitialWorkDirRequirement`, чтобы поместить " +"входные файлы в выходной каталог. В этом примере мы используем выражение " +"JavaScript для извлечения базового имени входного файла из его ведущего пути " +"к каталогу." + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +#, fuzzy +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "Устранение неполадок" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" +"В этом разделе вы найдете способы устранения неполадок, когда возникают " +"проблемы при выполнении CWL. Здесь мы сосредоточимся на `cwltool`, но " +"некоторые из этих методов могут быть применимы и к другим CWL Runners." + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "Запустите `cwltool` с `cachedir`" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" +"Вы можете использовать опцию `--cachedir` при запуске рабочего процесса, " +"чтобы указать `cwltool` кэшировать промежуточные файлы (файлы, которые не " +"являются ни входными, ни выходными, но создаются во время выполнения " +"рабочего процесса). По умолчанию эти файлы создаются во временном каталоге, " +"но их запись в отдельный каталог упрощает доступ к ним." + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" +"В следующем примере `troubleshooting-wf1.cwl` у нас есть два шага, `step_a` " +"и `step_b`. Этот шаг эквивалентен команде `echo \"Hello World\" | rev`, " +"которая выведет сообщение \"Hello World\" в обратном порядке, т. е. " +"\"dlroW olleH\". Однако второй шаг, `step_b`, **содержит опечатку**, когда " +"вместо команды `rev` он пытается выполнить `revv`, что не удается." + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +#, fuzzy +msgid "`troubleshooting-wf1.cwl`" +msgstr "`troubleshooting-wf1.cwl`" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" +"Давайте выполним этот рабочий процесс с `/tmp/cachedir/` в качестве значения " +"`--cachedir` (`cwltool` создаст каталог, если он еще не существует):" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" +"Рабочий процесс находится в состоянии `постоянного отказа` из-за того, что " +"`шаг_b` не смог выполнить несуществующую команду `revv`. Шаг `step_a` был " +"выполнен успешно, и его результаты были кэшированы в вашем расположении " +"`cachedir`. Вы можете просмотреть созданные промежуточные файлы:" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" +"Каждый шаг рабочего процесса получил уникальный ID (длинное значение, " +"похожее на хэш). Файлы `${HASH}.status` отображают статус каждого шага, " +"выполняемого рабочим процессом. А выходной файл `stdout.txt` шага `step_a` " +"виден в выводе команды выше." + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" +"Теперь исправьте опечатку, чтобы `step_b` выполнял `rev` (т.е. замените " +"`revv` на `rev` в `step_b`). После исправления опечатки, когда вы выполните " +"`cwltool` с теми же аргументами, что и в предыдущий раз, обратите внимание, " +"что теперь вывод `cwltool` содержит информацию о предварительно кэшированных " +"выводах для `step_a`, а также о новой записи в кэше для вывода `step_b`. " +"Также обратите внимание, что статус `step_b` теперь успешный." + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" +"В этом примере шаг рабочего процесса `step_a` не был переоценен, поскольку " +"он был кэширован, и никаких изменений в его выполнении или выходе не " +"произошло. Более того, `cwltool` смог распознать, когда ему нужно было " +"повторно оценить `step_b` после того, как мы исправили имя исполняемого " +"файла. Эта техника полезна для устранения неполадок в документах CWL, а " +"также как способ предотвратить ненужную переоценку шагов программой " +"`cwltool`." + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "Использование контейнеров" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "Запуск инструментов внутри Docker" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" +"Контейнеры [Docker][docker] упрощают установку программного обеспечения, " +"предоставляя полное известное время выполнения для программ и их " +"зависимостей. Однако контейнеры также специально изолированы от хост-" +"системы, поэтому для запуска инструмента в контейнере Docker необходимо " +"выполнить дополнительную работу, чтобы убедиться, что входные файлы доступны " +"внутри контейнера, а выходные файлы могут быть восстановлены из контейнера. " +"CWL runner может выполнять эту работу автоматически, позволяя вам " +"использовать Docker для упрощения управления программным обеспечением, " +"избегая при этом сложностей, связанных с вызовом и управлением контейнерами " +"Docker." + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" +"Одной из обязанностей программы запуска CWL является корректировка путей к " +"входным файлам с учетом их расположения внутри контейнера." + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" +"Этот пример запускает простой скрипт Node.js внутри контейнера Docker, " +"который затем выводит \"Hello World\" на стандартный вывод." + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +#, fuzzy +msgid "`docker.cwl`" +msgstr "`docker.cwl`" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +#, fuzzy +msgid "`docker-job.yml`" +msgstr "`docker-job.yml`" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" +"Прежде чем мы запустим эту программу, давайте разберем ее на части и " +"посмотрим, что делают некоторые элементы. Большая часть этого уже " +"объяснялась в предыдущих разделах, единственная часть, которая действительно " +"является новой, - это раздел `dockerRequirement`." + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" +"`Базовая команда: node` сообщает CWL, что мы будем выполнять эту команду, " +"используя среду выполнения Node Js, предназначенную для файлов Javascript. " +"Затем нам нужно указать несколько `подсказок` для поиска нужного нам " +"контейнера. В данном случае мы перечислим только наши требования к " +"контейнеру docker в `DockerRequirements`. Параметр `dockerPull:` принимает " +"то же значение, которое вы бы передали команде `docker pull`. То есть имя " +"образа контейнера (можно даже указать тег, что является хорошей идеей для " +"лучших практик использования контейнеров для воспроизводимых исследований). " +"В данном случае мы использовали контейнер под названием `node:slim`." + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"Создайте Javascript-файл с именем \"hello.js\" и вызовите `cwltool`, указав " +"в командной строке описание инструмента и объект ввода:" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +#, fuzzy +msgid "`hello.js`" +msgstr "`hello.js`" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" +"Обратите внимание, что программа запуска CWL создала командную строку Docker " +"для запуска сценария." + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" +"В этом примере путь к скрипту `hello.js` - это `/home/me/cwl/user_guide/" +"hello.js` вне контейнера, но `/var/lib/cwl/job369354770_examples/hello.js` " +"внутри контейнера, что отражено в вызове команды `node`." + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "Рабочие процессы" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" +"Рабочий процесс - это блок обработки CWL, который выполняет инструменты " +"командной строки, средства выражения или рабочие процессы (подрабочие " +"процессы) в качестве шагов. Он должен иметь `входы`, `выходы` и `шаги`, " +"определенные в документе CWL." + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "Рабочий процесс CWL." + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" +"CWL-документ `echo-uppercase.cwl` определяет рабочий процесс, который " +"запускает инструмент командной строки и инструмент для работы с выражениями, " +"показанный в предыдущих примерах." + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +#, fuzzy +msgid "`echo-uppercase.cwl`" +msgstr "`echo-uppercase.cwl`" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" +"Инструмент командной строки или инструмент выражения также может быть " +"записан непосредственно в том же документе CWL, что и рабочий процесс. " +"Например, мы можем переписать рабочий процесс `echo-uppercase.cwl` в виде " +"одного файла:" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +#, fuzzy +msgid "`echo-uppercase-single-file.cwl`" +msgstr "`echo-uppercase-single-file.cwl`" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" +"Наличие отдельных файлов помогает в обеспечении модульности и организации " +"кода. Но для разработки может быть полезно писать все в одном файле. " +"Существуют и другие способы объединения нескольких файлов в один файл (" +"например, `cwltool --pack`), о которых мы поговорим в других разделах этого " +"руководства пользователя." + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" +"Для субрабочих процессов необходимо включить требование " +"`SubworkflowFeatureRequirement`. Более подробно об этом говорится в другом " +"разделе данного руководства пользователя." + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "Написание рабочих процессов" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" +"Этот рабочий процесс извлекает исходный файл java из tar-файла, а затем " +"компилирует его." + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +#, fuzzy +msgid "`1st-workflow.cwl`" +msgstr "`1st-workflow.cwl`" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +#, fuzzy +msgid "Visualization of 1st-workflow.cwl" +msgstr "Visualization of 1st-workflow.cwl" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +#, fuzzy +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" +"[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/" +"github.com/common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/" +"common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" +"Используйте YAML или JSON-объект в отдельном файле для описания входных " +"данных для запуска:" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +#, fuzzy +msgid "`1st-workflow-job.yml`" +msgstr "`1st-workflow-job.yml`" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" +"Далее создайте пример Java-файла и добавьте его в tar-файл для использования " +"с инструментом командной строки." + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "Что здесь происходит? Давайте разберемся:" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" +"Поле `cwlVersion` указывает на версию спецификации CWL, используемую в " +"документе. Поле `class` указывает, что этот документ описывает рабочий " +"процесс." + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" +"Раздел `входы` описывает входы рабочего процесса. Это список входных " +"параметров, где каждый параметр состоит из идентификатора и типа данных. " +"Эти параметры могут быть использованы в качестве источников входных данных " +"для определенных этапов рабочего процесса." + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" +"Раздел `outputs` описывает выходные данные рабочего процесса. Это список " +"выходных параметров, где каждый параметр состоит из идентификатора и типа " +"данных. Параметр `outputSource` соединяет выходной параметр `classfile` " +"шага `compile` с выходным параметром рабочего процесса `compiled_class`." + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" +"Раздел `steps` описывает фактические шаги рабочего процесса. В этом примере " +"первый шаг извлекает файл из tar-файла, а второй шаг компилирует файл, " +"полученный на первом шаге, с помощью java-компилятора. Шаги рабочего " +"процесса не обязательно выполняются в том порядке, в котором они " +"перечислены, вместо этого порядок определяется зависимостями между шагами (с " +"помощью `source`). Кроме того, шаги рабочего процесса, которые не зависят " +"друг от друга, могут выполняться параллельно." + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" +"Первый шаг, `untar`, запускает `tar-param.cwl` (описанный ранее в " +"[Parameter References](parameter-references.md)). Этот инструмент имеет два " +"входных параметра, `tarfile` и `extractfile`, и один выходной параметр " +"`extracted_file`." + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" +"Секция ``in`` шага рабочего процесса соединяет эти два входных параметра с " +"входами рабочего процесса, `tarball` и `name_of_file_to_extract`, используя " +"`source`. Это означает, что при выполнении шага рабочего процесса значения, " +"присвоенные параметрам `tarball` и `name_of_file_to_extract`, будут " +"использоваться для параметров `tarfile` и `extractfile` для запуска " +"инструмента." + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" +"В разделе `out` шага рабочего процесса перечислены выходные параметры, " +"которые ожидаются от инструмента." + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" +"Второй шаг `compile` зависит от результатов первого шага, соединяя входной " +"параметр `src` с выходным параметром `untar` с помощью `untar/extracted_file`" +". Он запускает `arguments.cwl` (описанный ранее в " +"[Additional Arguments and Parameters](additional-arguments-and-" +"parameters.md)). Выход этого шага `classfile` подключается к секции `outputs`" +" для рабочего процесса, описанного выше." + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "Вложенные рабочие процессы" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" +"Рабочие процессы - это способы объединения нескольких инструментов для " +"выполнения более крупных операций. Можно также считать, что рабочий процесс " +"сам по себе является инструментом; рабочий процесс CWL может использоваться " +"в качестве шага в другом рабочем процессе CWL, если механизм рабочего " +"процесса поддерживает `SubworkflowFeatureRequirement`:" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" +"Вот пример рабочего процесса, который использует наш `1st-workflow.cwl` в " +"качестве вложенного рабочего процесса:" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +#, fuzzy +msgid "`nestedworkflows.cwl`" +msgstr "`nestedworkflows.cwl`" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" +"Этот двухэтапный рабочий процесс начинается с шага `create-tar`, который " +"связан с шагом `compile` оранжевым цветом; `compile` - это другой рабочий " +"процесс, показанный на диаграмме справа. В фиолетовом цвете мы видим " +"фиксированную строку `\"Hello.java\"`, предоставляемую в качестве " +"`имени_файла_для_извлечения`." + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" +"
+ 
+" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" +"CWL `Workflow` может быть использован в качестве `шага`, как и " +"`CommandLineTool`, его CWL-файл включается в `run`. Входы рабочего процесса " +"(`tarball` и `name_of_file_to_extract`) и выходы (`compiled_class`) затем " +"могут быть сопоставлены, чтобы стать входами/выходами шага." + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" +"Наш `1st-workflow.cwl` был параметризован входами рабочего процесса, поэтому " +"при его запуске мы должны были указать файл задания, чтобы обозначить tar-" +"файл и имя файла `*.java`. Это, как правило, лучшая практика, так как это " +"означает, что его можно повторно использовать в нескольких родительских " +"рабочих процессах или даже в нескольких шагах в рамках одного рабочего " +"процесса." + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" +"Здесь мы используем `default:` для жесткого кодирования `\"Hello.java\"` в " +"качестве входного `имени_файла_к_извлечению`, однако наш рабочий процесс " +"также требует tar-файл в `tarball`, который мы подготовим на шаге `create-" +"tar`. На данном этапе, вероятно, стоит рефакторить `1st-workflow.cwl`, чтобы " +"иметь более конкретные имена входов/выходов, так как они также появляются " +"при его использовании в качестве инструмента." + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" +"Также можно использовать менее общий подход и избежать внешних зависимостей " +"в файле задания. Так, в этом рабочем процессе мы можем сгенерировать жестко " +"закодированный файл `Hello.java`, используя ранее упомянутое требование " +"`InitialWorkDirRequirement`, прежде чем добавить его в tar-файл." + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" +"В этом случае наш шаг может предполагать `Hello.java`, а не быть " +"параметризованным, поэтому мы можем использовать жестко заданные значения " +"`hello.tar` и `Hello.java` в `baseCommand` и получаемых `выводах`:" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" +"Вы заметили, что мы не выделили инструмент `tar --create` в отдельный файл, " +"а встроили его в файл CWL Workflow? Как правило, это не лучшая практика, " +"поскольку инструмент нельзя использовать повторно. В данном случае причина в " +"том, что в командной строке жестко заданы имена файлов, которые имеют смысл " +"только в рамках данного рабочего процесса." + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" +"В этом примере мы должны были подготовить tar-файл снаружи, но только " +"потому, что наш внутренний рабочий процесс был разработан так, чтобы " +"принимать его в качестве входных данных. Лучшим рефакторингом внутреннего " +"рабочего процесса было бы получение списка Java-файлов для компиляции, что " +"упростило бы его использование в качестве инструментального шага в других " +"рабочих процессах." + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" +"Вложенные рабочие процессы могут быть мощной функцией для создания " +"функциональных и многократно используемых единиц рабочего процесса более " +"высокого уровня - но, как и при создании описания инструмента CWL, " +"необходимо позаботиться о том, чтобы повысить удобство его использования в " +"нескольких рабочих процессах." + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "Шаги рассеивания" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" +"Теперь, когда мы знаем, как писать рабочие процессы, мы можем начать " +"использовать `ScatterFeatureRequirement`. Эта функция сообщает исполнителю, " +"что вы хотите запустить инструмент или рабочий процесс несколько раз над " +"списком входных данных. Тогда рабочий процесс принимает входные данные в " +"виде массива и выполняет указанные шаги на каждом элементе массива, как если " +"бы это был один вход. Это позволяет запускать один и тот же рабочий процесс " +"на нескольких входах без необходимости генерировать множество различных " +"команд или входных yaml-файлов." + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" +"Наиболее распространенная причина, по которой новый пользователь может " +"захотеть использовать scatter, - это проведение одного и того же анализа для " +"разных образцов. Давайте начнем с простого рабочего процесса, который " +"вызывает наш первый пример (`hello_world.cwl`) и принимает массив строк в " +"качестве входных данных для рабочего процесса:" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +#, fuzzy +msgid "`scatter-workflow.cwl`" +msgstr "`scatter-workflow.cwl`" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" +"Помимо раздела `requirements`, включающего `ScatterFeatureRequirement`, что " +"здесь происходит?" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" +"Прежде всего, обратите внимание, что для ввода основного уровня рабочего " +"процесса здесь требуется массив строк." + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" +"Здесь мы добавили новое поле в шаг `echo` под названием `scatter`. Это поле " +"сообщает бегуну, что мы хотим разбросать данные по входу для этого " +"конкретного шага. Обратите внимание, что имя входа, указанное после scatter, " +"- это имя входа шага, а не входа уровня рабочего процесса." + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" +"Для нашего первого скаттера все просто! Поскольку наш инструмент не собирает " +"никаких выходов, мы по-прежнему используем `outputs: []` в нашем рабочем " +"процессе, но если вы ожидаете, что конечный результат вашего рабочего " +"процесса теперь будет иметь несколько выходов для сбора, не забудьте " +"обновить этот тип до массива!" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "Используя следующий входной файл:" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +#, fuzzy +msgid "`scatter-job.yml`" +msgstr "`scatter-job.yml`" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" +"Напомним, что [`hello_world.cwl`](../introduction/quick-start.md) просто " +"вызывает команду `echo` для сообщения. Если мы вызовем `cwltool scatter-" +"workflow.cwl scatter-job.yml` в командной строке:" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" +"Вы видите, что рабочий процесс вызывает echo несколько раз для каждого " +"элемента нашего `message_array`. Хорошо, а как быть, если мы хотим " +"разбросать данные по двум шагам рабочего процесса?" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" +"Давайте выполним простое эхо, как описано выше, но перехватим `stdout`, " +"добавив следующие строки вместо `outputs: []`" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +#, fuzzy +msgid "`hello_world_to_stdout.cwl`" +msgstr "`hello_world_to_stdout.cwl`" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" +"И добавьте второй шаг, который использует `wc` для подсчета символов в " +"каждом файле. Смотрите инструмент ниже:" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +#, fuzzy +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" +"Итак, как нам включить рассеивание? Помните, что поле разброса находится под " +"каждым шагом:" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +#, fuzzy +msgid "`scatter-two-steps.cwl`" +msgstr "`scatter-two-steps.cwl`" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" +"Здесь мы поместили поле разброса под каждым шагом. Это подходит для данного " +"примера, поскольку он выполняется быстро, но если вы выполняете много " +"образцов для более сложного рабочего процесса, возможно, вам стоит " +"рассмотреть альтернативный вариант. Здесь мы запускаем scatter на каждом " +"шаге независимо, но поскольку второй шаг не зависит от первого, заполняя все " +"языки, мы не используем функциональность scatter эффективно. Второй шаг " +"ожидает массив в качестве входных данных от первого шага, поэтому он будет " +"ждать, пока все на первом шаге не будет завершено, прежде чем что-то делать. " +"Представьте, что выполнение `echo Hello World!` занимает 1 минуту, а вывод `" +"wc -c` - 3 минуты, а выполнение `echo Hallo welt!` занимает 5 минут, а вывод " +"`wc` - 3 минуты. Даже если `echo Hello World!` может завершиться за 4 " +"минуты, на самом деле он завершится за 8 минут, потому что первый шаг должен " +"ждать `echo Hallo welt!`. Вы можете видеть, как это может не очень хорошо " +"масштабироваться." + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" +"Итак, как нам разбросать шаги, которые могут выполняться независимо от " +"других проб? Помните из [Nested Workflows](#nested-workflows), что мы можем " +"сделать весь рабочий процесс одним шагом в другом рабочем процессе! " +"Преобразуйте наш двухэтапный рабочий процесс в одноэтапный подпроцесс:" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +#, fuzzy +msgid "`scatter-nested-workflow.cwl`" +msgstr "`scatter-nested-workflow.cwl`" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" +"Теперь рассеиватель действует на один шаг, но этот шаг состоит из двух " +"шагов, поэтому каждый шаг выполняется параллельно." + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "Условные рабочие процессы" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" +"Этот рабочий процесс содержит условный шаг и выполняется на основе входных " +"данных. Это позволяет рабочим процессам пропускать дополнительные шаги на " +"основе входных параметров, заданных в начале программы или на предыдущих " +"шагах." + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +#, fuzzy +msgid "`conditional-workflow.cwl`" +msgstr "`conditional-workflow.cwl`" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" +"Первое, что вы заметите, это то, что этот рабочий процесс совместим только с " +"версией 1.2 или более поздней версией стандартов CWL." + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" +"Первый шаг рабочего процесса (step1) содержит два входных свойства и будет " +"выполнять foo.cwl при выполнении условий. Новое свойство `when` - это место, " +"где происходит проверка условия. В данном случае только когда `in1` из " +"рабочего процесса содержит значение `<1`, этот шаг будет выполнен." + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" +"При использовании следующей команды `cwltool cond-wf-003.1.cwl --val 0` " +"значение пройдет первый условный шаг и, следовательно, будет выполнено, что " +"отображается в журнале командой `INFO [step step1] start`, тогда как второй " +"шаг будет пропущен, о чем свидетельствует `INFO [step step2] will be " +"skipped`." + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" +"Если задано значение 3, первый условный шаг не будет выполнен, но второй шаг " +"будет выполнен `cwltool cond-wf-003.1.cwl --val 3`." + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" +"Если ни одно из условий не выполнено, например, при использовании `--val 2`, " +"рабочий процесс выдаст ошибку permanentFail." + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "Руководство по YAML" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" +"[YAML][yaml] - это формат файлов, предназначенный для чтения как " +"компьютером, так и человеком. В этом руководстве представлены особенности " +"YAML, которые важны при написании описаний CWL и файлов входных параметров." + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "Вы можете пропустить этот раздел, если вы уже знакомы с YAML." + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "Содержание" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "[Пары ключ-значение](#key-value-pairs)" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "[Комментарии](#comments)" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "[Карты](#maps)" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "[Массивы](#arrays)" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "[Стиль JSON](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "Пары ключ-значение" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" +"По сути, файл, написанный на языке YAML, состоит из набора пар _ключ-" +"значение_. Каждая пара записывается как `ключ: значение`, где пробелы после " +"`:` обязательны. Имена ключей в файлах CWL не должны содержать пробельных " +"символов - [_camelCase_][camelCase] используется для многословных имен " +"ключей, которые имеют особое значение в спецификации CWL, и подчеркивания в " +"других именах ключей. Например:" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" +"В приведенном выше YAML определены четыре ключа - `first_name`, `last_name`, " +"`age_years` и `home` - и четыре соответствующих им значения. Значения могут " +"быть символьными строками, числовыми (целое число, число с плавающей точкой " +"или научное представление), булевыми (`true` или `false`) или более сложными " +"вложенными типами (см. ниже)." + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" +"Значения могут быть заключены в кавычки, но имейте в виду, что это может " +"изменить способ их интерпретации, например, `\"1234\"` будет рассматриваться " +"как символьная строка, а `1234` будет рассматриваться как целое число. Это " +"различие может быть важным, например, при описании параметров команды: в CWL " +"все части `baseCommand` должны быть строками, поэтому, если вы хотите " +"указать фиксированное числовое значение для команды, убедитесь, что вы " +"обернули это числовое значение в кавычки: `baseCommand: [echo, \"42\"]`." + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "Комментарии" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" +"Вы можете использовать `#` для добавления комментариев к файлам CWL и " +"параметрам. Любые символы справа от `#` будут игнорироваться программой, " +"интерпретирующей YAML. Например:" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" +"Если в строке перед комментарием что-то есть, не забудьте добавить хотя бы " +"один пробел перед `#`!" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "Карты" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" +"При описании инструмента или рабочего процесса с помощью CWL обычно " +"необходимо создавать более сложные, вложенные представления. Эти " +"иерархические структуры, называемые _картой_, описываются в YAML путем " +"предоставления дополнительных пар ключ-значение в качестве значения любого " +"ключа. Эти пары (иногда называемые \"дочерними\") записываются на новых " +"строках под ключом, к которому они относятся (\"родительским\"), и должны " +"быть отступлены двумя пробелами (символы ⇥tab не допускаются). Например:" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" +"Приведенный выше YAML иллюстрирует, как можно относительно быстро создавать " +"сложные вложенные описания объектов. Карта `inputs` содержит один ключ, " +"`example_flag`, который сам содержит два ключа, `type` и `inputBinding`, а " +"один из этих дочерних элементов, `inputBinding`, содержит еще две пары ключ-" +"значение (`position` и `prefix`). Дополнительную информацию о предоставлении " +"нескольких значений/пар ключ-значение для одного ключа см. в разделе [Arrays]" +"(#arrays) ниже. Для сравнения с приведенным выше примером YAML здесь " +"показано графическое представление объекта `inputs`, который он описывает." + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "Массивы" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" +"В некоторых случаях необходимо предоставить несколько значений или объектов " +"для одного ключа. Как мы уже видели в разделе [Maps](#maps) выше, более " +"одной пары ключ-значение может быть сопоставлено одному ключу. Однако можно " +"также определить несколько значений для ключа без необходимости " +"предоставлять уникальный ключ для каждого значения. Этого можно добиться с " +"помощью _массива_, где каждое значение задается в отдельной строке и " +"предваряется символом `-`. Например:" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "и более сложный пример, сочетающий карты и массивы:" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "JSON Стиль" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" +"YAML основан на [JavaScript Object Notation (JSON)][json]. Карты и массивы " +"также могут быть определены в YAML с использованием собственного синтаксиса " +"JSON. Например:" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "и:" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" +"Родной JSON может быть полезен для указания полей, которые намеренно " +"оставлены пустыми (например, `[]` для пустого массива), а также в тех " +"случаях, когда значения имеет смысл располагать в одной строке (например, " +"при указании флагов опций и их значений в команде оболочки). Однако, как " +"видно из второго примера, это может сильно ухудшить читаемость YAML-файла, " +"поэтому использовать его следует осторожно." + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "Ссылка" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" +"Ссылка [Learn YAML in Y Minutes][yaml-y-mins] была очень полезна для нас при " +"написании этого руководства, хотя в ней также рассматриваются функции, " +"которые не применимы в CWL." + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "Учебники" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" +"Это список учебников, предоставленных сообществом CWL. Если вы хотите " +"добавить в список еще один учебник, воспользуйтесь ссылкой `Редактировать " +"эту страницу` в меню." + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "Учебники для начинающих" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" +"[Введение в рабочие процессы с помощью Common Workflow Language: Для " +"авторов.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "Продвинутые учебники" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +#, fuzzy +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "Учебники по биоинформатике" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +#, fuzzy +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" diff --git a/locales/sphinx.pot b/locales/sphinx.pot new file mode 100644 index 00000000..e7779e0d --- /dev/null +++ b/locales/sphinx.pot @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "" diff --git a/locales/ta/LC_MESSAGES/sphinx.po b/locales/ta/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..e424842e --- /dev/null +++ b/locales/ta/LC_MESSAGES/sphinx.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2024-12-20 20:00+0000\n" +"Last-Translator: தமிழ்நேரம் \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10-dev\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "முதன்மை வழிசெலுத்தல்" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "பிரிவு வழிசெலுத்தல்" diff --git a/locales/ta/LC_MESSAGES/user_guide.po b/locales/ta/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..abce4430 --- /dev/null +++ b/locales/ta/LC_MESSAGES/user_guide.po @@ -0,0 +1,4274 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2025-08-12 10:26+0000\n" +"Last-Translator: Michael Crusoe \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.13-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "உரிமங்கள்" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "அறிவுறுத்தல் பொருள்" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" +"அனைத்து பொதுவான பணிப்பாய்வு மொழி திட்ட அறிவுறுத்தல் பொருள் மற்றும் கட்டமைப்பில் மாற்றங்கள் [" +"Creative Commons Attribution license][cc-by-human] இன் கீழ் கிடைக்கின்றன. " +"பின்வருபவை மனிதனால் படிக்கக்கூடிய சுருக்கமாகும் (மற்றும் இதற்கான மாற்று அல்ல)[full " +"legal text of the CC BY 4.0 license][cc-by-legal]." + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "நீங்கள் இலவசம்:" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"** பகிர ** --- எந்த நடுத்தரத்திலும் அல்லது வடிவத்திலும் பொருளை நகலெடுத்து மறுபகிர்வு " +"செய்யுங்கள்" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "** மாற்றியமைக்க ** --- ரீமிக்ச், மாற்ற மற்றும் பொருள் மீது உருவாக்க" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "எந்தவொரு நோக்கத்திற்காகவும், வணிக ரீதியாக கூட." + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" +"உரிம விதிமுறைகளைப் பின்பற்றும் வரை உரிமதாரர் இந்த சுதந்திரங்களை ரத்து செய்ய முடியாது:" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" +"** பண்புக்கூறு ** --- நீங்கள் பொருத்தமான கடன் கொடுக்க வேண்டும் (உங்கள் பணி பதிப்புரிமை பெற்" +"ற வேலையிலிருந்து பெறப்பட்டது என்பதைக் குறிப்பிடுவது பொதுவான பணிப்பாய்வு மொழி திட்டம், " +"மற்றும், நடைமுறையில், https://www.commonwl.org/ உடன் இணைகிறது) . நீங்கள் எந்தவொரு " +"நியாயமான முறையில் அவ்வாறு செய்யலாம், ஆனால் உரிமதாரர் உங்களை அல்லது உங்கள் பயன்பாட்டை " +"ஒப்புக் கொள்ள பரிந்துரைக்கும் எந்த வகையிலும் அல்ல." + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "" +"** கூடுதல் கட்டுப்பாடுகள் எதுவும் இல்லை ** --- உரிமம் அனுமதிக்கும் எதையும் " +"செய்வதிலிருந்து மற்றவர்களை சட்டப்பூர்வமாக கட்டுப்படுத்தும் சட்ட விதிமுறைகள் அல்லது தொழில்நுட்" +"ப நடவடிக்கைகளை நீங்கள் பயன்படுத்தக்கூடாது. அதைப் புரிந்துகொள்வதன் மூலம்:" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "" +"பொது களத்தில் உள்ள பொருளின் கூறுகளுக்கான உரிமத்திற்கு நீங்கள் இணங்க வேண்டியதில்லை அல்லது " +"பொருந்தக்கூடிய விதிவிலக்கு அல்லது வரம்பால் உங்கள் பயன்பாடு அனுமதிக்கப்படுகிறது." + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" +"உத்தரவாதங்கள் எதுவும் கொடுக்கப்படவில்லை. நீங்கள் விரும்பிய பயன்பாட்டிற்கு தேவையான அனைத்து " +"அனுமதிகளையும் உரிமம் உங்களுக்கு வழங்காது. எடுத்துக்காட்டாக, விளம்பரம், தனியுரிமை அல்லது " +"தார்மீக உரிமைகள் போன்ற பிற உரிமைகள் நீங்கள் பொருளை எவ்வாறு பயன்படுத்துகிறீர்கள் என்பதைக் " +"கட்டுப்படுத்தலாம்." + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "மென்பொருள்" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"வேறுவிதமாகக் குறிப்பிடப்பட்ட இடத்தைத் தவிர, பொதுவான பணிப்பாய்வு மொழி திட்டத்தால் வழங்கப்பட்" +"ட எடுத்துக்காட்டு நிரல்கள் மற்றும் பிற மென்பொருள் [ஓஎச்ஐ][osi]-அங்கீகரிக்கப்பட்ட " +"[அப்பாச்சி 2.0 உரிமம்] [apache-2.0-license] இன் கீழ் கிடைக்கின்றன." + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" +"பொருந்தக்கூடிய சட்டத்தால் தேவைப்படாவிட்டால் அல்லது எழுத்துப்பூர்வமாக ஒப்புக் கொள்ளப்படாவிட்டால்" +", உரிமத்தின் கீழ் விநியோகிக்கப்படும் மென்பொருள் ஒரு \"அப்படியே\" அடிப்படையில், எந்தவொரு " +"உத்தரவாதங்களும் நிபந்தனைகளும் இல்லாமல், வெளிப்படையான அல்லது மறைமுகமாக " +"விநியோகிக்கப்படுகிறது. உரிமத்தின் கீழ் குறிப்பிட்ட மொழி ஆளும் அனுமதிகள் மற்றும் " +"வரம்புகளுக்கான உரிமத்தைப் பார்க்கவும்." + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" +"CWL என்பது கட்டளை-வரி கருவிகளை விவரிப்பதற்கும் அவற்றை ஒன்றாக இணைக்கவும் ஒரு வழியாகும். " +"சி.டபிள்யூ.எல் ஒரு விவரக்குறிப்பு மற்றும் ஒரு குறிப்பிட்ட மென்பொருள் அல்ல, சி.டபிள்யூ.எல் " +"ஐப் பயன்படுத்தி விவரிக்கப்பட்ட கருவிகள் மற்றும் பணிப்பாய்வுகள் சி.டபிள்யூ.எல் தரத்தை " +"ஆதரிக்கும் பல்வேறு தளங்களில் சிறியவை." + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "இந்த பக்கம் நகர்ந்தது" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" +"இந்த பக்கம் காலாவதியானது மற்றும் பழைய பயனர் வழிகாட்டியின் இணைப்புகளைப் பாதுகாக்க இங்கே " +"வைக்கப்பட்டது. பயனர் வழிகாட்டியை உலவ புதிய [உள்ளடக்க அட்டவணை](index.md#table-of-" +"contents) ஐப் பயன்படுத்தவும்." + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "கேள்விகள்" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "`எவல்ஃப்ரோம்` ஐப் பயன்படுத்தி\" `கோப்பு`\" வகைகள்" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "உள்ளீட்டு கோப்பை மறுபெயரிடுங்கள்" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" +"கருவி விளக்கத்தின் ஒரு பகுதியாக உள்ளீட்டு கோப்பின் பெயரை எவ்வாறு மாற்றுவது என்பதை இந்த " +"எடுத்துக்காட்டு நிரூபிக்கிறது. பணிப்பாய்வுகளின் மற்றொரு படியிலிருந்து தயாரிக்கப்பட்ட " +"கோப்புகளை நீங்கள் எடுக்கும்போது இது பயனுள்ளதாக இருக்கும், மேலும் இந்த கோப்புகள் " +"உருவாக்கப்பட்டபோது வழங்கப்பட்ட இயல்புநிலை பெயர்களுடன் வேலை செய்ய விரும்பவில்லை." + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "வெளியீட்டு கோப்பை மறுபெயரிடுங்கள்" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "" +"ஒரு கருவி மூலம் வழங்கப்பட்ட இயல்புநிலை பெயரிலிருந்து வெளியீட்டு கோப்பின் பெயரை எவ்வாறு " +"மாற்றுவது என்பதை இந்த எடுத்துக்காட்டு நிரூபிக்கிறது:" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "உள்ளக ச்கிரிப்டைக் குறிப்பிடுகிறது" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "உள்ளக ச்கிரிப்டைக் குறிப்பிட இரண்டு வழிகள் உள்ளன:" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "" +"முதல் முறை உங்கள் ச்கிரிப்ட்களைக் கொண்ட கோப்புறையை `பாதை` சுற்றுச்சூழல் மாறியில் சேர்ப்பது " +"அடங்கும். `Sh` அல்லது` பாச்` கட்டளைகளைப் பயன்படுத்தாமல் செல் ச்கிரிப்டை நேரடியாக இயக்க இது" +" உங்களை அனுமதிக்கிறது." + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "" +"உங்கள் கோப்பின் மேற்புறத்தில் _shebang_ ஐச் சேர்ப்பதன் மூலம் தொடங்கவும்:" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "அதன்பிறகு, `chmod +x scriptname.sh` கட்டளையுடன் ச்கிரிப்டை இயக்கவும்" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "" +"இறுதியாக, உங்கள் ச்கிரிப்ட் அமைந்துள்ள கோப்பகத்தைச் சேர்க்க உங்கள் `பாதையை` மாற்றவும். (உங்கள் " +"சொந்த ச்கிரிப்ட்களை சேமிக்க `$ home/bin` ஐப் பயன்படுத்துவது நல்ல நடைமுறை)." + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" +"இப்போது நீங்கள் ச்கிரிப்டை நேரடியாக இயக்க `BasCommand: scriptname.sh` ஐப் " +"பயன்படுத்தலாம்." + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "" +"உங்கள் வேலையை பின்னர் பகிர்ந்து கொள்ள விரும்பினால், உங்கள் ச்கிரிப்டை மென்பொருள் கொள்கலனில் " +"கப்பல்துறை வடிவத்தில் வைக்கலாம்." + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "இரண்டாவது முறை ச்கிரிப்டில் `வகை: கோப்பு` உள்ளீட்டை உள்ளடக்கியது:" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "சி.டபிள்யூ.எல் இல், எல்லாவற்றையும் நேரடியாகக் கூற வேண்டும்." + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "" +"விருப்ப உள்ளீடுகளுக்கு `தன்`-அடிப்படையிலான உள்ளீட்டு பிணைப்புகளை அமைத்தல்" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "" +"தற்போது, `cwltool` அவர்களின் உள்ளீட்டு பிணைப்பு` சுயத்தை 'பயன்படுத்தினால், காணாமல் போன " +"விருப்ப உள்ளீடுகளை சமாளிக்க முடியாது. இதற்கான ஒரு எடுத்துக்காட்டு பணித்தொகுப்பு கீழே " +"உள்ளது, இது மிகவும் அதிநவீன பிழைத்திருத்தம் நிலுவையில் உள்ளது." + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "மாதிரி A \"ஒன்று அல்லது பிற\" அளவுரு" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "" +"பூலியன் அளவுருவுக்கு கொடுக்கப்பட்ட மதிப்பின் அடிப்படையில், கட்டளை வரியில் சேர்க்கப்பட வேண்டி" +"ய வெவ்வேறு சரங்களை எவ்வாறு குறிப்பிடுவது என்பதைக் காட்டும் ஒரு எடுத்துக்காட்டு கீழே." + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "" +"அந்த வகையின் வரிசையை எதிர்பார்க்கும் உள்ளீட்டுடன் ஒரு தனி மதிப்பை இணைக்கவும்" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/" +"Workflow.html#MultipleInputFeatureRequirement) உடன் " +"[`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "" +"உள்ளீடு ஒவ்வொரு உள்ளீட்டு இணைப்பிற்கும் சரியாக ஒரு உள்ளீட்டைக் கொண்ட ஒரு வரிசையாக இருக்க " +"வேண்டும். \"Merge_nested\" ஒற்றை இணைப்புடன் குறிப்பிடப்பட்டால், இணைப்பிலிருந்து வரும் " +"மதிப்பு ஒற்றை-உருப்படி பட்டியலில் மூடப்பட வேண்டும்." + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "அதாவது \"இந்த ஆதாரங்களைக் கொண்ட ஒரு பட்டியலை கூறுகளாக உருவாக்கவும்\"" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" +"அல்லது வேறுவிதமாகக் கூறினால்: இலக்கு `கோப்பு []` (`கோப்பின் வரிசையின்) வகை மற்றும் " +"மூலமானது ஒற்றை` கோப்பு` என்றால், பின்னர் `மல்டிபுட்ஃபியூட்யூர்ரெக்யூமென்ட் 'ஐச் சேர்த்து` " +"தேவைகள்` மற்றும் `லிங்க்மர்ச் சேர்க்கவும் ." + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "விருப்ப உள்ளீடுகள்" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "" +"உள்ளீட்டு அளவுருவை விருப்பமாக மாற்ற, வகை அறிவிப்பில் கேள்விக்குறியைச் சேர்க்கவும்." + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "Enum உள்ளீடுகள்" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" +"ஒரு குறிப்பிட்ட உள்ளீடு தேவைப்படும் கட்டளை வரி கொடிகளுக்கு CWL இல் ஒரு enum வகையை " +"அறிவிக்க முடியும். ** இங்கே NULL ஐக் குறிப்பிடுவது நீண்ட வடிவ பாணி என்று " +"அழைக்கப்படுகிறது. இது மற்ற உள்ளீடுகளில் கேள்விக்குறியைப் போலவே செய்கிறது. **" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "உள்ளீடுகளை பதிவு செய்யுங்கள்" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "" +"** பரச்பர பிரத்தியேக ** அல்லது ** சார்பு ** ஒரு சிறப்பு பதிவு வகையை வரையறுக்கலாம். " +"விருப்ப உள்ளீடுகளை உருவாக்க நீங்கள் இங்கே NULL ஐ குறிப்பிடலாம்." + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "பரச்பர பிரத்தியேக அளவுருக்களை அமைத்தல்" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" +"பதிவு உள்ளீட்டு வகையில் புலங்களை சரியாக அமைக்க, அளவுருக்களை சரியாக அமைக்க நீங்கள் ஒரு " +"அகராதியை உள்ளீட்டிற்கு அனுப்ப வேண்டும். இன்லைன் சாவாச்கிரிப்டைப் பயன்படுத்துவதன் மூலமும், " +"நீங்கள் அமைக்க விரும்பும் புலத்தின் விசையுடன் அகராதியைத் திருப்புவதன் மூலமும் இது " +"செய்யப்படுகிறது. பணிப்பாய்வுகளிலிருந்து உள்ளீடு மதிப்பாக பயன்படுத்தப்படுவதைக் குறிக்க மூல " +"புலம் அமைக்கப்பட்டுள்ளது." + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +msgid "Setting Booleans" +msgstr "பூலியன்சை அமைத்தல்" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "இயல்புநிலை புலத்தைப் பயன்படுத்தி இவற்றை அமைக்கலாம்" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "உள்ளீடுகளில் சரங்களை இணைத்தல்" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "இயல்புநிலைக்கு பதிலாக மதிப்பு முதல் புலம் பயன்படுத்தப்பட வேண்டும்." + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "" +"`cwltool` பிழைகள் உள்ளே உள்ள விண்வெளி எழுத்துக்களைக் கொண்ட கோப்பு பெயர்கள் காரணமாக" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" +"`cwltool` இயல்புநிலையாக கோப்பு பெயர்களில் சில எழுத்துக்களை அனுமதிக்காது." + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "" +"எடுத்துக்காட்டாக, `ஒரு இடம் இங்கே உள்ளது. TXT` 3 விண்வெளி எழுத்துக்களை உள்ளடக்கியது." + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" +"இந்த ஆபத்தான கதாபாத்திரங்களை நீங்கள் தவிர்க்க முடியாவிட்டால், `--ரெலாக்ச்-பாத்-செக்ச்` ஐ` " +"cwltool` க்கு அனுப்பவும்." + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "" +"உள்ளீட்டு அடையாளங்காட்டியில் ஐபன் காரணமாக சி.டபிள்யூ.எல் அளவுரு குறிப்பு பிழை" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "`Cwltool -வாலிடேட்` வருவது செல்லுபடியாகும்" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "ஆனால் அதை செயல்படுத்துவது போன்ற பிழையை ஏற்படுத்துகிறது:" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "கோப்பு இங்கே உள்ளது" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "`-` (ஐபன் எழுத்து) காரணமாக ஏற்படும் சிக்கல்." + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "இந்த பிழையை சரிசெய்ய, `-` (ஐபன்)" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" +"உள்ளீட்டு அடையாளங்காட்டியை மாற்ற முடியாவிட்டால், நீங்கள் ஒரு மாற்று CWL அளவுரு குறிப்பு " +"தொடரியல் பயன்படுத்தலாம்:" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "" +"சி.டபிள்யூ.எல் மற்றும் சி.டபிள்யூ.எல்.டூலை ஒருமைப்பாட்டுடன் பயன்படுத்தவும்" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" +"சி.டபிள்யூ.எல் தரநிலைகள் (விருப்ப) கப்பல்துறை வடிவமைப்பு கொள்கலன்களைச் சுற்றி கட்டப்பட்டுள்" +"ளன. குறிப்பு ரன்னர் மற்றும் பல சி.டபிள்யூ.எல் செயலாக்கங்கள் அந்த கப்பல்துறை வடிவமைப்பு " +"கொள்கலன்களை ஒருமைப்பாட்டு இயந்திரத்தைப் பயன்படுத்தி இயக்குகின்றன. ஒரு ஒருமை வடிவமைப்பு " +"கொள்கலனை நேரடியாகக் குறிப்பிடுவது CWL தரங்களின் ஒரு பகுதியாக இல்லை." + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "சாவாச்கிரிப்ட் வெளிப்பாடுகள் பிழைத்திருத்த" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" +"நீங்கள் -JS-CONSOLE cwltool இன் விருப்பத்தைப் " +"பயன்படுத்தலாம், அல்லது உங்கள் குறியீட்டிற்கான சாவாச்கிரிப்ட் அல்லது டைப்ச்கிரிப்ட் திட்டத்தை " +"உருவாக்க முயற்சி செய்யலாம், மேலும் <குறியீடு> எக்ச்பிரசன் லிப் <ஐப் பயன்படுத்தி அதை ஏற்றலாம்" +" /குறியீடு>, எ.கா. -L8 \"> https://github.com/common-workflow-language/" +"common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#-l8 < /dd>" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "பொதுவான பணிப்பாய்வு மொழி பயனர் வழிகாட்டி" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" +"[பொதுவான பணிப்பாய்வு மொழி](https://www.commonwl.org/) (சி.டபிள்யூ.எல்) திறந்த " +"தரங்களைப் பயன்படுத்தி பணிப்பாய்வுகளை எழுதுவதற்கு இந்த வழிகாட்டி உங்களை அறிமுகப்படுத்தும். " +"இந்த வழிகாட்டி அண்மைக் கால விவரக்குறிப்பை விவரிக்கிறது {{ cwl_version }}." + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "பங்களிப்புகள் மற்றும் பின்னூட்டங்கள் வரவேற்கப்படுகின்றன!" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" +"இந்த வழிகாட்டியிலிருந்து ஏதேனும் காணவில்லை என்று நீங்கள் கண்டால், அல்லது பிற கருத்துக்களை " +"வழங்க விரும்பினால், [இந்த வழிகாட்டிக்கான திட்ட களஞ்சியத்தில்][repo] இல் சிக்கலை தாக்கல் " +"செய்யுங்கள். ஒவ்வொரு பக்கத்தின் வலது பக்கப்பட்டியில் \"இந்த பக்கத்தைத் திருத்து\" பொத்தானைக் " +"சொடுக்கு செய்வதன் மூலம் இழுக்கும் கோரிக்கையில் நேரடியாக மாற்றங்களை நீங்கள் பரிந்துரைக்கலாம்." + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "பயனர் வழிகாட்டியை வழிநடத்துதல்" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" +"நீங்கள் ஒரு தொடக்க பயனராக இருந்தால் [அறிமுகம்](/introduction/index.md) பிரிவில் " +"தொடங்கலாம். மேம்பட்ட பயனர்களுக்கு [தலைப்புகள்](/topics/index.md)குறியீட்டு." + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" +"உள்ளடக்க அட்டவணை மேல் மெனுவிலும் இடது பக்கப்பட்டியிலும் காட்டப்படும். இது இந்த பக்கத்தின் " +"மேலும் கீழே தோன்றுகிறது, ஆனால் துணைப்பிரிவுகளுக்கான இணைப்புகளுடன். வலது பக்கப்பட்டியில் " +"ஒவ்வொரு பக்கத்தின் பிரிவுகளுக்கான இணைப்புகள் உள்ளன, மேலும் தேடல் படிவம் இடது பக்கப்பட்டியில்" +" உள்ளது." + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "உள்ளடக்க அட்டவணை" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "அடிப்படை கருத்துக்கள்" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" +"இந்த பிரிவு பயனர்கள் பொதுவான பணிப்பாய்வு மொழி (சி.டபிள்யூ.எல்) பணிப்பாய்வுகளுடன் " +"பணிபுரியத் தொடங்குவதற்கான அடிப்படைக் கருத்துக்களை விவரிக்கிறது. வாசகர்கள் பணிப்பாய்வு " +"மேலாளர்கள், YAML உடன் நன்கு அறிந்திருப்பார்கள், மேலும் கட்டளை வரிக்கான பின்வரும் " +"வழிமுறைகளுடன் வசதியாக இருப்பார்கள். பயனர் வழிகாட்டியின் பிற பிரிவுகள் அதே கருத்துக்களை " +"உள்ளடக்கியது, ஆனால் இன்னும் விரிவாக. நீங்கள் ஏற்கனவே சி.டபிள்யூ.எல் உடன் தெரிந்திருந்தால் " +"அல்லது நீங்கள் இன்னும் மேம்பட்ட உள்ளடக்கத்தைத் தேடுகிறீர்களானால், இந்த பகுதியைத் தவிர்க்க " +"விரும்பலாம்." + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "CWL விவரக்குறிப்பு" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" +"சி.டபிள்யூ.எல் விவரக்குறிப்பு என்பது சி.டபிள்யூ.எல் சமூகத்தால் எழுதப்பட்ட மற்றும் " +"பராமரிக்கப்படும் ஒரு ஆவணமாகும். விவரக்குறிப்பில் வெவ்வேறு பதிப்புகள் உள்ளன. இந்த பயனர் " +"வழிகாட்டியில் உள்ள பதிப்பு {{ cwl_version }} ஆகும்." + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" +"விவரக்குறிப்பு பதிப்பில் `.`கள் (புள்ளிகள்) பிரிக்கப்பட்ட மூன்று எண்கள்வரை இருக்கலாம். முதல் " +"எண் முக்கிய வெளியீடு ஆகும், இது நீக்கப்பட்ட அம்சங்களை அகற்றுவது போன்ற பின்தங்கிய-இணக்கமான " +"மாற்றங்களுக்குப் பயன்படுத்தப்படுகிறது. இரண்டாவது எண் சிறிய வெளியீடு ஆகும், இது புதிய " +"நற்பொருத்தங்கள் அல்லது பின்தங்கிய-இணக்கமான சிறிய மாற்றங்களுக்குப் பயன்படுத்தப்படுகிறது. " +"எழுத்துப்பிழைகள் மற்றும் விவரக்குறிப்புக்கான பிற திருத்தங்கள் போன்ற பிழை திருத்தங்களுக்குக் " +"கடைசி எண் பயன்படுத்தப்படுகிறது." + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" +"விவரக்குறிப்பு பதிப்பிற்கு பயன்படுத்தப்படும் மாதிரி சொற்பொருள் பதிப்பு என்று " +"அழைக்கப்படுகிறது. இதைப் பற்றி [மேலும் அறிக](#learn-more) இந்த பிரிவின் முடிவைக் காண்க." + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "செயல்படுத்தல்கள்" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" +"சி.டபிள்யூ.எல் விவரக்குறிப்பின் செயல்படுத்தல் என்பது விவரக்குறிப்பு ஆவணத்தின் பதிப்பில் " +"வரையறுக்கப்பட்டுள்ளதைத் தொடர்ந்து எழுதப்பட்ட எந்தவொரு மென்பொருளாகும். இருப்பினும், " +"செயலாக்கங்கள் விவரக்குறிப்பின் ஒவ்வொரு அம்சத்தையும் செயல்படுத்தாது. சி.டபிள்யூ.எல் " +"செயலாக்கங்கள் திறந்த மூல மற்றும் வணிக உரிமங்களின் கீழ் உரிமம் பெற்றுள்ளன." + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" +"பல முனைகளில் இணையாக பணிகள் திட்டமிடப்பட்டுள்ள கொத்து, முகில் மற்றும் உயர் செயல்திறன் கொண்ட " +"கணினி சூழல்களில் பெரிய அளவிலான பணிப்பாய்வுகளை விவரிக்க சி.டபிள்யூ.எல் மிகவும் " +"பொருத்தமானது." + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "சி.டபிள்யூ.எல் விவரக்குறிப்பு, செயலாக்கங்கள் மற்றும் பிற கருவிகள்." + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "செயல்முறைகள் மற்றும் தேவைகள்" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" +"ஒரு செயல்முறை என்பது ஒரு கணினி அலகு ஆகும், இது உள்ளீடுகளை எடுத்து வெளியீடுகளை " +"உருவாக்குகிறது. ஒரு செயல்முறையின் நடத்தை உள்ளீடுகள், தேவைகள் மற்றும் குறிப்புகளால் " +"பாதிக்கப்படலாம். CWL விவரக்குறிப்பில் நான்கு வகையான செயல்முறைகள் வரையறுக்கப்பட்டுள்ளன {{ " +"cwl_version }}:" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "ஒரு கட்டளை-வரி கருவி." + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "ஒரு வெளிப்பாடு கருவி." + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "ஒரு செயல்பாடு." + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "ஒரு பணிப்பாய்வு." + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "CWL பொருள்களின் மாதிரியில் கிடைக்கும் செயலாக்க அலகுகள்." + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" +"ஒரு கட்டளை-வரி கருவி `எதிரொலி`,` எல்.எச்`, மற்றும் `தார்` போன்ற கட்டளை-வரி " +"பயன்பாட்டிற்கான ஒரு ரேப்பர். ஒரு பணிப்பாய்விலிருந்து கட்டளை-வரி கருவியை அழைக்கலாம்." + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" +"ஒரு வெளிப்பாடு கருவி என்பது சாவாச்கிரிப்ட் வெளிப்பாட்டிற்கான ஒரு ரேப்பர். பணிப்பாய்வு " +"மற்றும் கட்டளை-வரி கருவிகளை எளிதாக்குவதற்கு இதைப் பயன்படுத்தலாம், பணிப்பாய்வு " +"செயலாக்கத்தின் பொதுவான பகுதிகளை மீண்டும் பயன்படுத்தக்கூடிய சாவாச்கிரிப்ட் குறியீட்டிற்கு " +"நகர்த்தும், இது உள்ளீடுகளை எடுத்து கட்டளை-வரி கருவி போன்ற வெளியீடுகளை உருவாக்குகிறது." + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" +"செயல்பாடு என்பது ஒரு சுருக்க செயல்முறையாகும், இது உள்ளீடுகளை எடுக்கும், வெளியீடுகளை " +"உருவாக்குகிறது மற்றும் பணிப்பாய்வுகளில் பயன்படுத்தப்படலாம். ஆனால் இது பொதுவாகப் " +"பயன்படுத்தப்படாத ஒரு சிறப்பு செயல்பாடு. இது இந்த பயனர் வழிகாட்டியின் " +"[செயல்பாட்டு பிரிவு](../topics/operations.md) இல் விவாதிக்கப்படுகிறது." + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" +"பணிப்பாய்வு என்பது படிகளைக் கொண்ட ஒரு செயல்முறையாகும். படிகள் பிற பணிப்பாய்வு " +"(உள்ளமைக்கப்பட்ட பணிப்பாய்வுகள்), கட்டளை-வரி கருவிகள் அல்லது வெளிப்பாடு கருவிகளாக " +"இருக்கலாம். ஒரு பணிப்பாய்வுகளின் உள்ளீடுகளை அதன் எந்த படிகளுக்கும் அனுப்ப முடியும், அதே " +"நேரத்தில் அதன் படிகளால் விளைவாக்கம் செய்யப்படும் வெளியீடுகள் பணிப்பாய்வுகளின் இறுதி " +"வெளியீட்டில் பயன்படுத்தப்படலாம்." + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" +"சி.டபிள்யூ.எல் விவரக்குறிப்பு செயலாக்கங்களை கூடுதல் செயல்பாட்டை வழங்க அனுமதிக்கிறது " +"மற்றும் *தேவைகள் *மூலம் பணிப்பாய்வுகளுக்கு முன்நிபந்தனைகளை குறிப்பிடுகிறது. உதாரணமாக, " +"சி.டபிள்யூ.எல் விவரக்குறிப்பில் பல தேவைகள் வரையறுக்கப்பட்டுள்ளன:" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "" +"`இன்லைன் சாவாச்கிரிப்ட் பணிப்பாய்வு` - வெளிப்பாடுகளில் சாவாச்கிரிப்ட் இயக்கப்பட்டது." + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "" +"`Subworkflowfeaturerequirement` - உள்ளமைக்கப்பட்ட பணிப்பாய்வுகளை இயக்குகிறது." + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" +"`SiteritWorkDirRequirement` - உள்ளீட்டு கோப்பகத்தில் ச்டேசிங் கோப்புகளை " +"கட்டுப்படுத்துகிறது." + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" +"சில சி.டபிள்யூ.எல் ஓட்டப்பந்தய வீரர்கள் விவரக்குறிப்பில் இல்லாத தேவைகளை வழங்கலாம். " +"எடுத்துக்காட்டாக, சி.பீ.யூ தேவைகள் `சி.டபிள்யு.எல்.டி.ஓ.எல்` இல்` சி.டபிள்யூ.எல்.டி.ஓ." +"எல்: குடர் க்யூரமென்ட்` தேவை மூலம் ஆதரிக்கப்படுகின்றன, ஆனால் இது {{ cwl_version }} " +"விவரக்குறிப்பின் ஒரு பகுதியாக இல்லை, மற்ற சி.டபிள்யூ.எல் ஓட்டப்பந்தய வீரர்களால் " +"ஆதரிக்கப்படாது." + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" +"குறிப்புகள் தேவைகளுக்கு ஒத்தவை, ஆனால் தேவைகள் தேவைப்படும் அம்சங்களை பட்டியலிடுகையில், " +"குறிப்புகள் விருப்ப அம்சங்களை பட்டியலிடுகின்றன. [தேவைகள்](../topics/requirements-and-" +"hints.md) பிரிவில் தேவைகள் விரிவாக விளக்கப்பட்டுள்ளன." + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "நியாயமான பணிப்பாய்வு" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" +"நியாயமான கொள்கைகள் டிசிட்டல் சொத்துக்களைப் பகிர்வதற்கும் வெளியிடுவதற்கும் ஒரு அடித்தளத்தை " +"அமைத்துள்ளன, குறிப்பாக தரவுகள். நியாயமான கொள்கைகள் இயந்திர அணுகலை வலியுறுத்துகின்றன, " +"மேலும் அனைத்து டிசிட்டல் சொத்துக்களும் கண்டுபிடிக்கப்படக்கூடியவை, அணுகக்கூடியவை, " +"இயங்கக்கூடியவை மற்றும் மீண்டும் பயன்படுத்தக்கூடியவை. பணிப்பாய்வுகள் விஞ்ஞான செயல்முறை " +"நடத்தப்படும் முறைகள் மற்றும் எந்த தரவு உருவாக்கப்படுகின்றன என்பதை குறியாக்குகின்றன. " +"நியாயமான தரவை உருவாக்குவதை பணிப்பாய்வு ஆதரிப்பது முதன்மை மற்றும் நியாயமான கொள்கைகளை " +"பின்பற்றுகிறது. -." + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" +"சி.டபிள்யூ.எல் \"மேக்\" இல் வேர்களைக் கொண்டுள்ளது மற்றும் பணிகளுக்கு இடையிலான சார்புகளை " +"அடிப்படையாகக் கொண்டு செயல்படுத்தும் வரிசையை நிர்ணயிக்கும் பல ஒத்த கருவிகள் உள்ளன. " +"இருப்பினும், \"மேக்\" போலல்லாமல், சி.டபிள்யூ.எல் பணிகள் தனிமைப்படுத்தப்பட்டுள்ளன, மேலும் " +"உங்கள் உள்ளீடுகள் மற்றும் வெளியீடுகள் குறித்து நீங்கள் வெளிப்படையாக இருக்க வேண்டும்." + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" +"வெளிப்படையான தன்மை மற்றும் தனிமைப்படுத்தலின் நன்மை நெகிழ்வுத்தன்மை, பெயர்வுத்திறன் மற்றும் " +"அளவிடுதல்; சி.டபிள்யூ.எல் உடன் விவரிக்கப்பட்ட கருவிகள் மற்றும் பணிப்பாய்வுகள் கப்பல்துறை போன்" +"ற தொழில்நுட்பங்களை வெளிப்படையாக மேம்படுத்தலாம் மற்றும் வெவ்வேறு விற்பனையாளர்களிடமிருந்து " +"சி.டபிள்யூ.எல் செயலாக்கங்களுடன் பயன்படுத்தப்படலாம்." + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" +"`CWLTool` தரவு ஆதாரத்திற்காக Prov-O நிலையான ஆன்டாலசியையும் பயன்படுத்துகிறது." + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "மேலும் அறிக" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "சொற்பொருள் பதிப்பு - " + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" +"CWL இணையதளத்தில் உள்ள CWL விவரக்குறிப்பு பக்கம்: " + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"Github இல் தற்போதைய CWL விவரக்குறிப்பு: {{'' .format (cwl_version_text)}}" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" +"CWL இணையதளத்தில் செயலாக்கங்களின் பட்டியல்: " + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "Prov-o: prov ontology-" + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" +"சி.டபிள்யூ.எல் செயல்பாடுகள் இந்த பயனர் வழிகாட்டியின் [செயல்பாடுகள்](../topics/" +"operations.md) பிரிவில் உள்ளன." + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "அறிமுகம்" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" +"சி.டபிள்யூ.எல் -க்கு ஒரு குறுகிய அறிமுகம், இந்த பயனர் வழிகாட்டியைப் பின்பற்றுவதற்கான " +"முன்நிபந்தனைகள் மற்றும் மீதமுள்ள பயனர் வழிகாட்டியைப் படிப்பதற்கு முன் தெரிந்து கொள்ள பயனுள்ள " +"சில அடிப்படைக் கருத்துகள் மூலம் இந்த பிரிவு உங்களுக்கு வழிகாட்டும்." + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "முன்நிபந்தனைகள்" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" +"இந்த பிரிவில் பட்டியலிடப்பட்டுள்ள மென்பொருள் மற்றும் உள்ளமைவுகள் இந்த பயனர் வழிகாட்டியைப் " +"பின்பற்றுவதற்கான முன்நிபந்தனைகள். சி.டபிள்யூ.எல் தரநிலைகள் பல்வேறு பணிப்பாய்வு ஓட்டப்பந்தய " +"வீரர்கள் மற்றும் தளங்களால் செயல்படுத்தப்படுகின்றன. தேவைகளின் இந்த பட்டியல் CWL குறிப்பு ரன்னர்" +", `CWLTOOL` இல் கவனம் செலுத்துகிறது. நீங்கள் மற்றொரு சி.டபிள்யூ.எல்-இணக்கமான ரன்னர் அல்லது" +" பணிப்பாய்வு முறையைப் பயன்படுத்தலாம், ஆனால் முடிவுகள் மற்றும் இடைமுகம் வித்தியாசமாகத் " +"தோன்றலாம் (சரியான பணிப்பாய்வு வெளியீடுகள் ஒரே மாதிரியாக இருக்க வேண்டும் என்றாலும்)." + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "சி.டபிள்யூ.எல் செயலாக்கங்கள்" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" +"சி.டபிள்யூ.எல் தரநிலைகளில் பல செயலாக்கங்கள் உள்ளன. சில முழுமையான சி.டபிள்யூ.எல் ஓட்டப்பந்" +"தய வீரர்கள், மற்றவர்கள் பணிப்பாய்வு இயந்திரங்களுக்கு செருகுநிரல்கள் அல்லது நீட்டிப்புகளாக " +"இருக்கலாம். [செயலாக்கங்கள்](basic-concepts.md#implementations) பிரிவில் எங்களுக்கு " +"சிறந்த விளக்கம் உள்ளது." + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "இயக்க முறைமை" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" +"புதுப்பித்த இயக்க முறைமையைப் பயன்படுத்த பரிந்துரைக்கிறோம். உங்கள் இயக்க முறைமைக்கு பின்வரும்" +" விருப்பங்களில் ஏதேனும் ஒன்றை நீங்கள் தேர்வு செய்யலாம்:" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +msgid "Linux" +msgstr "லினக்ச்" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +msgid "macOS" +msgstr "மேகோச்" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +msgid "Windows" +msgstr "சாளரங்கள்" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" +"நீங்கள் விண்டோசைப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் [லினக்ச் 2 க்கான சாளரங்கள் துணை அமைப்பு]" +"(https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2) ஐ நிறுவ வேண்டும்" +". WSL2 ஐ நிறுவுவது குறித்த விவரங்களுக்கு `cwltool` [ஆவணம்](https://github.com/" +"common-workflow-language/cwltool/blob/readme.rst#ms-mys-windows-users) ஐப் " +"பார்வையிடவும். உங்கள் இயக்க முறைமைக்கு இணைய அணுகல் மற்றும் பைதானின் அண்மைக் கால பதிப்பு " +"(3.6+) தேவை." + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "கூல் ரன்னர்" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" +"சி.டபிள்யூ.எல் பணிப்பாய்வுகளை இயக்குவதற்கு உங்களுக்கு முதல் சேதி சி.டபிள்யூ.எல் ரன்னர். " +"`CWLTool` என்பது CWL சமூகத்தால் பராமரிக்கப்படும் பைதான் திறந்த மூல திட்டமாகும். இது " +"CWL குறிப்பு ரன்னர் ஆகும், அதாவது தற்போதைய CWL விவரக்குறிப்பில் உள்ள அனைத்தையும் இது " +"ஆதரிக்க வேண்டும், {{ cwl_version }}." + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" +"`cwltool` உடன்` பிப்` உடன் நிறுவலாம். `Vev` அல்லது` Conda` போன்ற மெய்நிகர் சூழலைப் " +"பயன்படுத்த பரிந்துரைக்கிறோம். பின்வரும் கட்டளைகள் `VENV` தொகுதியைப் பயன்படுத்தி பைதான் " +"மெய்நிகர் சூழலை உருவாக்கி செயல்படுத்தும், மேலும் அந்த சூழலில்` CWLTool` ஐ நிறுவும்:" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "`PIP` மற்றும்` vev` உடன் `cwltool` ஐ நிறுவுகிறது." + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" +"`cwltool` உடன்` apt` மற்றும் `conda` உடன் நிறுவ பிற வழிகளில்` cwltool` [ஆவணம்]" +"(https://github.com/common-workflow-language/cwltool#install) ஐப் பார்வையிடவும்." + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" +"`Cwltool` உடன் எளிய CWL கருவி விளக்கத்தை` true.cwl` ஐப் பயன்படுத்துவோம்." + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +msgid "`true.cwl`" +msgstr "`True.cwl`" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" +"சி.டபிள்யூ.எல் கருவி மற்றும் பணிப்பாய்வு விளக்கங்களை சரிபார்க்க `CWLTOOL` கட்டளைக்கு ஒரு " +"விருப்பம் உள்ளது. இந்த விருப்பம் சி.டபிள்யூ.எல் ஆவணத்தை அலச, தொடரியல் பிழைகளைத் தேடும், " +"மற்றும் பணிப்பாய்வு விளக்கங்கள் சி.டபிள்யூ.எல் தரங்களுக்கு இணங்குகின்றன என்பதை சரிபார்க்கவும்" +". இருப்பினும், இந்த நடவடிக்கைகள் ஆவணத்தை இயக்காமல் செய்யப்படும். சி.டபிள்யூ.எல் " +"பணிப்பாய்வுகளை சரிபார்க்க (அல்லது மேலே உள்ளதைப் போன்ற ஒரு முழுமையான கட்டளை வரி கருவி " +"விளக்கம் கூட) `-வாலிடேட்` விருப்பத்தை` cwltool` கட்டளைக்கு அனுப்பவும்:" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "`Cwltool` உடன்` true.cwl` ஐ சரிபார்க்கிறது." + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" +"`-வாலிடேட்` விருப்பத்தைத் தவிர்ப்பதன் மூலம் நீங்கள் CWL கருவி விளக்கத்தை இயக்கலாம்:" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "`Cwltool` உடன்` true.cwl` ஐ இயக்குகிறது." + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "கூல்-ரன்னர் பைதான் தொகுதி" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" +"`சி.டபிள்யூ.எல்-ரன்னர்` என்பது எந்தவொரு சி.டபிள்யூ.எல் இணக்கமான ஓட்டப்பந்தய வீரருக்கும் ஒரு " +"செயல்படுத்தல்-அஞ்ஞான மாற்றாகும். இதன் பொருள் என்னவென்றால், `சி.டபிள்யூ.எல்-ரன்னர்` மாற்று " +"கட்டளை சுயாதீனமாக செயல்படுத்தப்படலாம், மேலும் ஒரு குறிப்பிட்ட சி.டபிள்யூ.எல் ரன்னர் நிரல் " +"பெயரை நம்பவில்லை. `CWLTool` போன்ற CWL ரன்னரை நேரடியாகப் பயன்படுத்துவதற்குப் பதிலாக " +"பயனர்கள்` CWL- ரன்னர்` ஐ அழைக்கலாம். விருப்பமான சி.டபிள்யூ.எல் செயல்படுத்தலை சுட்டிக்காட்ட " +"கணினி நிர்வாகி அல்லது பயனரால் `சி.டபிள்யூ.எல்-ரன்னர்` நிறுவப்பட்டுள்ளது. பல சி.டபிள்யூ." +"எல் ஓட்டப்பந்தய வீரர்களைக் கொண்ட சூழல்களுக்கு இது வசதியானது." + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" +"சி.டபிள்யூ.எல் சமூகம் `cwlref- ரன்னர்` என்ற பெயருடன் ஒரு பைதான் தொகுப்பை வெளியிடுகிறது" +", இது` cwltool` க்கான மாற்றுப்பெயரை `CWL-RUNNER` என்ற பெயரில் நிறுவுகிறது" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" +"Cwltool க்கு `பிப்` உடன்` சி.டபிள்யூ.எல்-ரன்னர்` மாற்றுப்பெயரை நிறுவுகிறது." + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" +"இப்போது நீங்கள் உங்கள் பணிப்பாய்வுகளை `சி.டபிள்யூ.எல்-ரன்னர்` இயங்கக்கூடியதாக சரிபார்த்து " +"இயக்கலாம், இது` cwltool` ஐ அழைக்கும். முந்தைய பிரிவில் உள்ள அதே முடிவுகள் மற்றும் " +"வெளியீட்டை நீங்கள் கொண்டிருக்க வேண்டும்." + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "`Cwl-runner` உடன்` true.cwl` ஐ சரிபார்க்கிறது." + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "`Cwl-runner` உடன்` true.cwl` ஐ இயக்குகிறது." + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" +"`சி.டபிள்யூ.எல்-ரன்னர் 'ஐ இயக்க மற்றொரு வழி கோப்பை நேரடியாக அழைப்பதன் மூலம். அதற்காக, " +"நீங்கள் செய்ய வேண்டிய முதல் சேதி `true.cwl` பணிப்பாய்வுகளை ஒரு புதிய கோப்பில் நகலெடுக்க " +"வேண்டும்:` true_shebang.cwl`, மற்றும் ஒரு சிறப்பு முதல் வரியான ஒரு *செபாங் *:" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +msgid "`true_shebang.cwl`" +msgstr "`true_shebang.cwl`" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "இப்போது நீங்கள் `chmod u+x` உடன் இயங்கக்கூடிய கோப்பை உருவாக்கலாம்." + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "`True.cwl` இயங்கக்கூடியது." + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" +"இறுதியாக, நீங்கள் அதை நேரடியாக கட்டளை வரிசையில் இயக்கலாம். செயல்படுத்தும்போது, செபாங்கில்" +" குறிப்பிடப்பட்டுள்ள நிரல் (`சி.டபிள்யூ.எல்-ரன்னர்`) மீதமுள்ள கோப்பை இயக்க பயன்படுத்தப்படும்." + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "ஒரு செபாங்குடன் `true_shebang.cwl` ஐ இயக்குகிறது." + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" +"* செபாங் * என்பது ஒரு ச்கிரிப்ட்டின் தொடக்கத்தில் `#!` என்பது இரண்டு-எழுத்து வரிசை. " +"ச்கிரிப்ட் இயங்கக்கூடியதாக இருக்கும்போது, செபாங்குக்குப் பிறகு குறிப்பிடப்பட்ட " +"இயங்கக்கூடியதைப் பயன்படுத்தி இயக்க முறைமை ச்கிரிப்டை இயக்கும். `/Usr/bin/env " +"` `<இயங்கக்கூடிய>` நிரலைத் தேடுவதால், கடினமான குறியிடப்பட்ட " +"இருப்பிடத்தைப் பயன்படுத்துவதை விட `/usr/bin/env <இயங்கக்கூடிய>` பயன்படுத்துவது ஒரு நல்" +"ல நடைமுறையாகக் கருதப்படுகிறது கணினி `பாதை`," + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "உரை ஆசிரியர்" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" +"நீங்கள் சி.டபிள்யூ.எல் உடன் எந்த உரை திருத்தியையும் பயன்படுத்தலாம், ஆனால் தொடரியல் " +"சிறப்பம்சமாக நாங்கள் YAML ஆதரவுடன் ஒரு எடிட்டரை பரிந்துரைக்கிறோம். பிரபலமான ஆசிரியர்கள் " +"விசுவல் ச்டுடியோ குறியீடு, கம்பீரமான, வெப்ச்டார்ம், விஐஎம்/நியோவிம் மற்றும் ஈமாக்ச்." + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" +"சி.டபிள்யூ.எல் உடன் ஒருங்கிணைப்பை வழங்கும் விசுவல் ச்டுடியோ குறியீடு மற்றும் வெப்ச்டார்ம் " +"ஆகியவற்றிற்கான நீட்டிப்புகள் உள்ளன, மேலும் தனிப்பயனாக்கப்பட்ட தொடரியல் சிறப்பம்சமாக மற்றும் " +"சிறந்த ஆட்டோ-முழுமையானவை போன்ற நற்பொருத்தங்கள் உள்ளன:" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" +"பென்டென் (சி.டபிள்யூ.எல்) சொருகி கொண்ட விசுவல் ச்டுடியோ குறியீடு-" + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" +"இன்டெல்லினுக்கான சி.டபிள்யூ.எல் சொருகி-" + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" +"சி.டபிள்யூ.எல் சமூகம் ஆசிரியர்கள் மற்றும் பார்வையாளர்களின் பட்டியலையும் பராமரிக்கிறது: " +"" + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "கப்பல்துறை" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" +"`CWLTool` ஒரு மென்பொருள் கொள்கலனைக் குறிப்பிடும் கருவிகள், பணிப்பாய்வு மற்றும் பணிப்பாய்வு" +" படிகளை இயக்க டோக்கரைப் பயன்படுத்துகிறது. உங்கள் இயக்க முறைமைக்கு அதை நிறுவ கப்பல்துறை " +"ஆவணத்தில் உள்ள வழிமுறைகளைப் பின்பற்றவும்: ." + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" +"கப்பல்துறை கொள்கலன்களை எவ்வாறு எழுதுவது மற்றும் உருவாக்குவது என்பதை நீங்கள் அறிய " +"தேவையில்லை. மீதமுள்ள பயனர் வழிகாட்டியில், இயங்கும் எடுத்துக்காட்டுகளுக்கு ஏற்கனவே இருக்கும் " +"கப்பல்துறை படங்களைப் பயன்படுத்துவோம், மேலும் கொள்கலன்களுடன் மற்றும் இல்லாமல் செயல்பாட்டு " +"மாதிரிகள் இடையிலான வேறுபாடுகளை தெளிவுபடுத்துவோம்." + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" +"`Cwltool` கப்பல்துறை, போட்மேன், உடோக்கர் மற்றும் ஒருமைப்பாட்டுடன் இயங்கும் கொள்கலன்களை " +"ஆதரிக்கிறது. படங்களை இழுக்க மாற்று கொள்கலன் பதிவுகளையும் பயன்படுத்தலாம்." + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" +"[செயலாக்கங்கள்](basic-concepts.md#implementations) தலைப்பு அடுத்த பிரிவில், அடிப்படை" +" கருத்துக்கள்." + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "பைதான் `வெர்வ்` தொகுதி: " + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "விரைவான தொடக்க" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" +"இந்த பிரிவு சி.டபிள்யூ.எல் என்றால் என்ன என்பதற்கான சுருக்கமான கண்ணோட்டத்தைக் காண்பிக்கும், " +"மேலும் அதைப் பற்றி மேலும் அறியலாம். சி.டபிள்யூ.எல் பற்றிய முந்தைய அறிவு தேவையில்லை, " +"ஆனால் கட்டளை-வரிக்கான வழிமுறைகளைப் பின்பற்றி நீங்கள் வசதியாக இருக்க வேண்டும்." + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "“அலோ வேர்ல்ட்”" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" +"சி.டபிள்யூ.எல் ஆவணங்கள் [YAML](../topics/index.md) (மற்றும்/அல்லது JSON) இல் " +"எழுதப்பட்டுள்ளன. கீழேயுள்ள எடுத்துக்காட்டு கருத்துகளுடன் சிறுகுறிப்பு செய்யப்பட்ட ஒரு எளிய " +"சி.டபிள்யூ.எல் “அலோ வேர்ல்ட்” பணிப்பாய்வுகளைக் காட்டுகிறது. கருத்துகள் `#` உடன் தொடங்குகின்" +"றன என்பதை நினைவில் கொள்க:" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +msgid "`hello_world.cwl`" +msgstr "`Hello_world.cwl`" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" +"மேலே உள்ள எடுத்துக்காட்டு `எதிரொலி` கட்டளை-வரி கருவிக்கான ஒரு ரேப்பர் மட்டுமே. " +"இயல்புநிலை உள்ளீட்டு மதிப்புகளுடன் மேலே உள்ள பணிப்பாய்வுகளை இயக்குவது கட்டளை-வரி " +"`எதிரொலி\" அலோ வேர்ல்ட் \"` போன்ற அதே முடிவை உருவாக்கும்." + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" +"சி.டபிள்யூ.எல் இல், ஒரு கட்டளை-வரி கருவி மற்றும் பணிப்பாய்வு இடையே வேறுபாடு உள்ளது. " +"ஆனால் எளிமைக்காக, நாங்கள் இங்கே “பணிப்பாய்வு” என்ற வார்த்தையைப் பயன்படுத்துகிறோம். இதைப் " +"பற்றி [அடிப்படை கருத்துக்கள்](basic-concepts.md) பிரிவில் மேலும் அறிந்து கொள்வீர்கள்." + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "CWL ரன்னரை நிறுவுதல்" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" +"`CWLTOOL` என்பது CWL விவரக்குறிப்பின் செயல்படுத்தல் ஆகும். இது விவரக்குறிப்பிற்கான CWL *" +" குறிப்பு ரன்னர் * ஆகும், மேலும் இது விவரக்குறிப்பின் அண்மைக் கால பதிப்போடு இணங்குகிறது: " +"{{ cwl_version }}. `பிப்` ஐப் பயன்படுத்தி` cwltool` ஐ நிறுவலாம்:" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "`பிப்` உடன்` cwltool` ஐ நிறுவுகிறது." + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" +"PIP கட்டளையைப் பயன்படுத்தி CWLTool ஐ நிறுவுவது உங்களுக்காக வேலை செய்யாது என்றால், " +"[முன்நிபந்தனைகள்](prerequisites.md) பிரிவில் `cwltool` ஐ நிறுவ பிற வழிகள் உள்ளன, " +"மேலும் இந்த பயனரின் மீதமுள்ளவற்றை பின்பற்ற பயன்படுத்தப்படும் மென்பொருள் மற்றும் நூலகங்களின் " +"விரிவான பட்டியலையும் கொண்டுள்ளது வழிகாட்டி." + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "\"அலோ வேர்ல்ட்\"" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" +"`Cwltool` கட்டளை-வரி இயங்கக்கூடிய பயன்பாடு அடிப்படையில்` cwltool [விருப்பங்கள்] " +" [inputs_object] `. எந்தவொரு விருப்பத்தையும் குறிப்பிடாமல் " +"`Hello_world.cwl` பணிப்பாய்வுகளை இயக்கலாம்:" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "`Cwltool` உடன்` Hello_world.cwl` ஐ இயக்குகிறது." + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" +"அல்லது `எதிரொலி` அடிப்படை கட்டளையின் வாதத்தை நீங்கள் எவ்வாறு மாற்றுவீர்கள் என்பதைப் போலவே, " +"உள்ளீட்டு அளவுருவின் இயல்புநிலை மதிப்பை` செய்தியின் 'மேலெழுதலாம்:" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" +"`Cwltool` உடன் உள்ளீட்டு அளவுருவைக் கடந்து` hello_world.cwl` ஐ இயக்குகிறது." + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" +"உங்கள் பணிப்பாய்வு உள்ளீட்டு அளவுருக்களுக்கு மதிப்புகளை அனுப்ப மற்றொரு வழி *உள்ளீடுகள் பொருள்" +" *வழியாகும். இது உள்ளீட்டு புலங்களைக் கொண்ட ஒரு கோப்பு, அவற்றின் தொடர்புடைய மதிப்புகளுடன்" +". உள்ளீட்டு பொருள்கள் கோப்பை சாதொபொகு அல்லது YAML இல் எழுதலாம். உதாரணமாக:" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +msgid "`hello_world-job.json`" +msgstr "`Hello_world-job.json`" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" +"“அலோ வேர்ல்ட்” பணிப்பாய்வுகளை இயக்க இந்த உள்ளீடுகள் பொருள் கோப்பை இப்போது பயன்படுத்தலாம்:" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "உள்ளீட்டு பொருள் கோப்பை `cwltool` க்கு அனுப்புகிறது." + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" +"பணிப்பாய்வு மற்றும் உள்ளீடுகள் பொருள் கோப்புகளுக்கு இதே போன்ற கோப்பு பெயரைப் பயன்படுத்தினோம்" +". உள்ளீடுகள் பொருள் கோப்புகளில் * -job.json * பின்னொட்டு மிகவும் பொதுவானது, ஆனால் அது " +"தேவையில்லை. உங்கள் பணிப்பாய்வு மற்றும் உள்ளீடுகள் பொருள் கோப்புகளுக்கான எந்த பெயரையும் நீங்கள் " +"தேர்வு செய்யலாம்." + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "இந்த பயனர் வழிகாட்டியின் அடுத்த பகுதிகளைப் படிக்கவும்!" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" +"[CWL செயல்படுத்தலின் பட்டியல்](https://www.commonwl.org/implementations)." + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" +"கிதுபில் [`பொதுவான-வேலை-மொழி-மொழி` அமைப்பு](https://github.com/common-workflow-" +"language)." + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[Common Workflow மொழி at Wikipedia](https://en.wikipedia.org/wiki/" +"Common_Workflow_Language)." + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) மற்றும் [விக்கியில் YAML](https://en.wikipedia.org/" +"wiki/YAML)." + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" +"{{'[CWL விவரக்குறிப்பு VERSION](https://www.commonwl.org/VERSION)' .replace (" +"'VERSION', cwl_version_text)}}." + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" +"[Workflow management மண்டலம் at Wikipedia](https://en.wikipedia.org/wiki/" +"Workflow_management_system)." + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" +"இந்த பக்கம் காலாவதியானது மற்றும் பழைய பயனர் வழிகாட்டியின் இணைப்புகளைப் பாதுகாக்க இங்கே " +"வைக்கப்பட்டது. இந்த பக்கத்தில் உள்ள தகவல்கள் புதிய பயனர் வழிகாட்டியின் [கேள்விகள்](/faq.md) " +"பகுதிக்கு இடம்பெயர்ந்துள்ளன." + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "கூடுதல் வாதங்கள் மற்றும் அளவுருக்கள்" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" +"சில நேரங்களில் கருவிகளுக்கு கூடுதல் கட்டளை வரி விருப்பங்கள் தேவைப்படுகின்றன, அவை உள்ளீட்டு" +" அளவுருக்களுடன் சரியாக ஒத்துப்போகின்றன." + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" +"இந்த எடுத்துக்காட்டில், சாவா மூல கோப்பை ஒரு வகுப்பு கோப்பில் தொகுக்க சாவா கம்பைலரை " +"மடிக்கவும். இயல்பாக, \"சாவாக்\" வகுப்பு கோப்புகளை மூல கோப்பின் அதே கோப்பகத்தில் " +"உருவாக்கும். இருப்பினும், சி.டபிள்யூ.எல் உள்ளீட்டு கோப்புகள் (மற்றும் அவை தோன்றும் கோப்பகங்கள்)" +" படிக்க மட்டுமே இருக்கலாம், எனவே அதற்கு பதிலாக நியமிக்கப்பட்ட வெளியீட்டு கோப்பகத்திற்கு " +"வகுப்பு கோப்பை எழுத \"சாவாக்\" அறிவுறுத்த வேண்டும்." + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +msgid "`arguments.cwl`" +msgstr "`வாதங்கள். CWL`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +msgid "`arguments-job.yml`" +msgstr "`வாதங்கள்-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" +"அடுத்து, கட்டளை-வரி கருவியுடன் பயன்படுத்த மாதிரி சாவா கோப்பை உருவாக்கவும்." + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"இப்போது கட்டளை வரியில் கருவி விளக்கத்தையும் உள்ளீட்டு பொருளையும் வழங்கும் `cwltool` ஐ " +"அழைக்கவும்:" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" +"ஒரு குறிப்பிட்ட உள்ளீட்டு அளவுருவுடன் பிணைக்கப்படாத கட்டளை வரியில் கூடுதல் வாதத்தை சேர்க்க " +"இங்கே `வாதங்கள்` புலத்தைப் பயன்படுத்துகிறோம்." + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" +"இந்த எடுத்துக்காட்டு ஒரு இயக்க நேர அளவுருவைக் குறிக்கிறது. கருவி உண்மையில் " +"செயல்படுத்தப்படும்போது இயக்க நேர அளவுருக்கள் வன்பொருள் அல்லது மென்பொருள் சூழல் பற்றிய " +"தகவல்களை வழங்குகின்றன. `$(runtime.outdir)` அளவுரு என்பது நியமிக்கப்பட்ட வெளியீட்டு " +"கோப்பகத்திற்கான பாதை. பிற அளவுருக்களில் `$(runtime.tmpdir)`, `$(runtime.ram)`, " +"`$(runtime.cores)`, `$(runtime.outdirSize)`, மற்றும் `$(runtime.tmpdirSize)`. " +"விவரங்களுக்கு CWL விவரக்குறிப்பின் [இயக்க நேர சூழல்] [runtime] பகுதியைப் பார்க்கவும்." + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "சிறந்த நடைமுறைகள்" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following 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: although more is better, not all are required." +msgstr "" +"ஒரு கருவி அல்லது பணிப்பாய்வுக்கான பொதுவான பணிப்பாய்வு மொழி விளக்கத்தை எழுதும் போது " +"மனதில் கொள்ள பரிந்துரைக்கப்பட்ட நல்ல நடைமுறைகளின் தொகுப்பாகும். இந்த வழிகாட்டுதல்கள் பயனற்ற " +"அளவில் பரிசீலிக்க வழங்கப்படுகின்றன: மேலும் சிறந்தது என்றாலும், அனைத்தும் தேவையில்லை." + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" +"இல்லை `வகை: உள்ளீடு அல்லது குறிப்பு கோப்புகள்/கோப்பகங்களின் பெயர்களுக்கான சரம்` அளவுருக்கள்;" +" `வகை: கோப்பு` அல்லது` வகை: அடைவு` பொருத்தமானதாகப் பயன்படுத்தவும்." + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" +"ஒரு சி.டபிள்யூ.எல் ஆவணம் (`டோக்கர்ஃபைல்`கள் போன்ற எந்தவொரு வெளிப்புற கூறுகளுடனும் " +"இணைந்து) மென்பொருள் குறியீடு. மென்பொருள் உரிமத்தின் வழக்கமான விதிகள் இந்த ஆவணத்திற்கு " +"பொருந்தும் என்பதை பணிப்பாய்வு உருவாக்குபவர்கள் அறிந்திருக்க வேண்டும். எடுத்துக்காட்டாக, " +"பணிப்பாய்வு பகிரங்கமாகப் பகிரப்பட்டால், உரிம விதிமுறைகள் தெளிவாக இருக்க வேண்டும், இதனால் " +"எதிர்கால பயனர் எந்த நிலைமைகளை அவர்கள் பணிப்பாய்வுகளை இயக்கலாம், அதை மாற்றலாம் " +"மற்றும்/அல்லது பிற பணிப்பாய்வுகளுடன் இணைக்க முடியும் என்பதைப் புரிந்துகொள்கிறார். இந்தக் " +"காரணத்திற்காக, ஆவணத்தில் உரிமம் புலத்தைச் சேர்ப்பதைக் கவனியுங்கள். இந்த வழிகாட்டியின் " +"ஆசிரியர்கள் உங்கள் சொந்தமாக எழுத முயற்சிப்பதை விட முன்பே இருக்கும் உரிமத்தைத் " +"தேர்வுசெய்யும்படி கேட்டுக்கொள்கிறார்கள் (உரிமத்தைத் தேர்ந்தெடுப்பது பற்றி மேலும் அறிய கீழேயுள்" +"ள இணைப்பைக் காண்க), மேலும் எங்கள் பரிந்துரைக்கப்பட்ட நடைமுறை மீண்டும் பயன்படுத்த அனுமதிக்கும் " +"உரிமத்தைத் தேர்ந்தெடுப்பதாகும் யாராலும், எ.கா. [அப்பாச்சி 2.0][apache-license]." + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" +"முடிந்தால், உரிமம் அதனுடன் தொடர்புடைய [SPDX அடையாளங்காட்டி] [spdx] உடன் குறிப்பிடப்பட " +"வேண்டும். `https://spdx.org/licenses/[SPDX-ID]` `SPDX-ID` படிவத்தின் முகவரி ஐ " +"வழங்குவதன் மூலம் உரிமத்திற்கான மேனிலை தரவு புலத்தை உருவாக்குங்கள், அங்கு மேலே இணைக்கப்பட்" +"ட அடையாளங்காட்டிகளின் பட்டியலிலிருந்து எடுக்கப்படுகிறது. வழிகாட்டுதலுக்கு கீழே உள்ள " +"எடுத்துக்காட்டு துணுக்கைக் காண்க. SPDX அடையாளங்காட்டி இல்லாமல் தரமற்ற உரிமங்களுக்கு, " +"உரிமத்திற்கு முகவரி ஐ வழங்கவும்." + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" +"பயனுள்ள வாசிப்பு: \"" +"[விஞ்ஞானி-புரோகிராமருக்கான மென்பொருள் உரிமத்திற்கான விரைவான வழிகாட்டி][sci-license]]" +"\"" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" +"_எச்பி SPDX அடையாளங்காட்டியுடன் உரிமத்திற்கான மேனிலை தரவு புலத்தின் மாதிரி:_" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" +"சி.டபிள்யூ.எல் விளக்கங்களுக்குள் மெட்டாடேட்டாவை வழங்குவதற்கான கூடுதல் எடுத்துக்காட்டுகளுக்கு" +", [இந்த பயனர் வழிகாட்டியின் மேனிலை தரவு மற்றும் எழுத்தாளர் பிரிவு](../topics/" +"metadata-and-authorship.md) ஐப் பார்க்கவும்." + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" +"சி.டபிள்யூ.எல் கருவி அல்லது பணிப்பாய்வு விளக்கத்தின் ஆசிரியர் (கள்) க்கான " +"[பண்புக்கூறு தகவல்][license-example] சேர்க்கவும். [ஆர்சிட்][orcid] போன்ற தெளிவற்ற " +"அடையாளங்காட்டிகளைப் பயன்படுத்தவும்." + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" +"கருவி விளக்கங்களில், `சாப்ட்வேர் ரெகுரிகேமென்ட்` இன் கீழ் குறுகிய பெயர் (களை) பயன்படுத்தி " +"சார்புகளை பட்டியலிடுங்கள்." + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" +"`https://identifiers.org/rrid/rrid:scr_nnnnnn` வடிவத்தில் சார்புகளுக்கான " +"[SciCrunch][scicrunch] அடையாளங்காட்டிகளைச் சேர்." + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" +"அனைத்து `உள்ளீடு` மற்றும்` வெளியீடு` அடையாளங்காட்டிகள் அவற்றின் கருத்தியல் அடையாளத்தை " +"பிரதிபலிக்க வேண்டும். `Foo_Input`,` foo_file`, `முடிவு`,` உள்ளீடு`, `வெளியீடு` " +"மற்றும் பலவற்றிற்கு பதிலாக` Knaligned_uckences`, `resopt_genome`,` பைலோசெனி`, " +"`சீரமைக்கப்பட்ட_ வரிசைமுறைகள்` போன்ற தகவலறிந்த பெயர்களைப் பயன்படுத்தவும்." + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" +"கருவி விளக்கங்களில், `சாப்ட்வேர் ரெக்வைமென்ட்` இன் கீழ் இந்த விளக்கத்துடன் வேலை செய்ய அறியப்பட்" +"ட கருவியின் பதிப்பு (கள்) பட்டியலைச் சேர்க்கவும்." + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" +"அனைத்து உள்ளீடு மற்றும் வெளியீடு `கோப்பு'க்கு` வடிவமைப்பு` குறிப்பிடப்பட வேண்டும். " +"பயோ-இன்ஃபர்மேடிக்ச் கருவிகள் [EDAM][edam-example]] இருந்து வடிவமைப்பு " +"அடையாளங்காட்டிகளைப் பயன்படுத்த வேண்டும். `iana:text/plain`,`iana:text/tab-separated-" +"values` `$namespaces: { iana: " +"\"https://www.iana.org/assignments/media-types//" }`. " +"[முழு ஐஏஎன்ஏ மீடியா வகை பட்டியல்][iana-types] (மைம் வகைகள் என்றும் அழைக்கப்படுகிறது). " +"பயோஇன்ஃபர்மேடிக்ச் அல்லாத கருவிகளுக்கு, அதே வழியில் பொருத்தமான ஆன்டாலசி/கட்டுப்படுத்தப்பட்" +"ட சொற்களஞ்சியத்தைப் பயன்படுத்தவும் அல்லது உருவாக்கவும். இதைப் பற்றி எங்களுக்குத் தெரியப்படுத்" +"த இந்தப் பக்கத்தைத் திருத்தவும்." + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" +"ச்ட்ரீமிங் இணக்கமான வழியில் (ஒரு முறை மட்டுமே, சீரற்ற-அணுகல் இல்லை), `ச்ட்ரீம் செய்யக்கூடியது:" +" உண்மை` போன்ற அனைத்து உள்ளீடு மற்றும் வெளியீட்டைக் குறிக்கவும்." + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" +"(துணை) கட்டளை அதிக திறன் கொண்டிருந்தாலும், ஒவ்வொரு `கட்டளை லைனெட்டூல்` விளக்கமும் ஒரு " +"செயல்பாட்டில் மட்டுமே கவனம் செலுத்த வேண்டும். உங்களுக்குத் தேவையில்லாத அல்லது பயன்படுத்தாத " +"விருப்பங்களுடன் உங்கள் கருவி விளக்கங்களை மிகைப்படுத்த வேண்டாம்." + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" +"தனிப்பயன் வகைகள் மறு பயன்பாட்டிற்கான ஒரு வகை வரையறைக்கு ஒரு வெளிப்புற YAML உடன் " +"வரையறுக்கப்பட வேண்டும்." + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" +"கருவி/பணிப்பாய்வுகளை சுருக்கமாகக் கூறி ஒரு உயர்மட்ட குறுகிய `லேபிள்` சேர்க்கவும்." + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "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)." +msgstr "" +"பயனுள்ளதாக இருந்தால், ஒரு உயர்மட்ட `டாக் 'ஐயும் சேர்க்கவும். இது உயர்மட்ட `லேபிளில் " +"'வழங்கப்பட்டதை விட நீண்ட, விரிவான விளக்கத்தை வழங்க வேண்டும் (மேலே காண்க)." + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" +"செல்லுபடியாகும் மதிப்புகளின் நிலையான பட்டியலைக் கொண்ட உறுப்புகளுக்கு `வகை: சரம்` க்கு " +"பதிலாக` வகை: enum` ஐப் பயன்படுத்தவும்." + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "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][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" +"சாத்தியமான நீக்குதல் அல்லது மாற்றுவதற்கு சாவாச்கிரிப்டின் அனைத்து பயன்பாடுகளையும் மதிப்பீடு " +"செய்யுங்கள். ஒரு பொதுவான எடுத்துக்காட்டு: `File` பெயர்கள் மற்றும் பாதைகளை கையாளுகிறீர்களா" +"? [`File` பண்புகள்][file-prop] `basename`, `nameroot`,`nameext` போன்றவற்றில் ஒன்றைப்" +" பயன்படுத்த முடியுமா என்பதைக் கவனியுங்கள்." + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" +"கருவி விளக்கத்தை ஒரு தம ஊழியருக்கு (முன்னுரிமை வேறு நிறுவனத்தில்) சோதிக்கவும் " +"கருத்துக்களை வழங்கவும் கொடுங்கள்." + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" +"சுருக்கமாக இருக்கக்கூடிய தனிப்பட்ட கூறுகளைக் கொண்ட சிக்கலான பணிப்பாய்வுகள் " +"[`subworkflowfeaturerequirement`] [subworkflow] ஐப் பயன்படுத்த வேண்டும், அவற்றின் " +"பணிப்பாய்வுகளை மட்டுப்படுத்தவும், அவற்றின் பிரிவுகளை எளிதில் மீண்டும் பயன்படுத்த " +"அனுமதிக்கவும்." + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" +"மென்பொருள் கொள்கலன்கள் [\"பயோ -இன்ஃபர்மேடிக்ச் மென்பொருளை பேக்கேசிங் மற்றும் கொள்கலனுக்கான " +"பரிந்துரைகளுக்கு\"][containers] இணக்கமாக இருக்க வேண்டும் (பிற துறைகளுக்கும் பயனுள்ளதா" +"க இருக்கும்)." + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "கட்டளை வரி கருவி" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" +"ஒரு கட்டளை-வரி கருவி என்பது ஒரு வகை செயல்முறை பொருளாகும், இது தானாகவே அல்லது " +"பணிப்பாய்வு படியாக இயக்கப்படலாம். இது `ls`,` எதிரொலி`, `தார்` போன்ற ஒரு கட்டளைக்கான " +"ஒரு ரேப்பர் ஆகும். கட்டளை-வரி கருவி CWL ஆவணத்தின்` பேச் கமாண்ட்` பண்புக்கூறில் கட்டளை-வரி " +"கருவி வரையறுக்கப்பட்டுள்ளது." + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" +"ஒரு சி.டபிள்யூ.எல் கட்டளை-வரி கருவி `உள்ளீடுகள்` மற்றும்` வெளியீடுகள்` கொண்டிருக்க வேண்டும்" +". உள்ளீடுகள் மற்றும் வெளியீடுகளைப் பயன்படுத்தி `எதிரொலி` லினக்ச் கட்டளைக்கான CWL கட்டளை-வரி" +" கருவியின் குறைந்தபட்ச எடுத்துக்காட்டு பின்வரும் எடுத்துக்காட்டில் உள்ளது." + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "CWL கட்டளை-வரி கருவி." + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +msgid "`echo.cwl`" +msgstr "`echo.cwl`" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" +"உள்ளீடுகள் மற்றும் வெளியீடுகளை வரையறுக்க மேலே உள்ள எடுத்துக்காட்டு எளிமையான படிவத்தைப் " +"பயன்படுத்துகிறது. [உள்ளீடுகள்](../topics/inputs.md) மற்றும் [வெளியீடுகள்](../topics/" +"outputs.md) பிரிவுகளில் நீங்கள் மேலும் அறிந்து கொள்வீர்கள்." + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "பிணைய அணுகல்" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" +"ஒரு செயல்முறைக்கு வெளிச்செல்லும் ஐபிவி 4/ஐபிவி 6 பிணைய அணுகல் தேவையா என்பதை இது " +"குறிக்கிறது. CWL V1.1+இல் ஒரு கட்டளை-வரி கருவி கைமுறையாக எழுதப்பட்டிருந்தால், பிணைய " +"அணுகல் தேவைப்படும்போது குறிப்பிட வேண்டிய தேவை உள்ளது." + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" +"CWL V1.0 கட்டளை-வரி கருவிகள் V1.1 அல்லது V1.2 க்கு மேம்படுத்தப்படுகின்றன. பிணைய " +"அணுகலை தானாகவே பெறுங்கள்." + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "இயக்க நேரத்தில் கோப்புகளை உருவாக்குதல்" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" +"சில நேரங்களில் நீங்கள் உள்ளீட்டு அளவுருக்களிலிருந்து பறக்க ஒரு கோப்பை உருவாக்க வேண்டும், " +"அதாவது கட்டளை வரி அளவுருக்களைக் காட்டிலும் ஒரு கோப்பிலிருந்து அவற்றின் உள்ளீட்டு உள்ளமைவைப்" +" படிக்க எதிர்பார்க்கும் கருவிகள் அல்லது சிறிய ரேப்பர் செல் ச்கிரிப்ட் தேவை." + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" +"அத்தகைய கோப்புகளை உருவாக்க, நாம் `SiteritWorkDirRequirement` ஐப் பயன்படுத்தலாம்." + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +msgid "`createfile.cwl`" +msgstr "`criatefile.cwl`" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" +"`$(inputs.message)` போன்ற எந்த [வெளிப்பாடுகள்](../topics/expressions.md). இங்கே, " +"`message` உள்ளீட்டில் மதிப்பை செருகவும்." + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" +"_CWL வெளிப்பாடுகள்_ கட்டளை வரி கருவி அழைப்பின் போது பின்னர் பயன்படுத்தப்படும் எந்த " +"_shell மாறிகள்_ இலிருந்து சுயாதீனமாக உள்ளன. அதாவது `$` கதாபாத்திரத்தின் உண்மையான " +"தேவையும் `\\` உடன் ** தப்பிக்க வேண்டும் **. உதாரணமாக, மேலே உள்ள `\\ $ {PREFIX}` சி." +"டபிள்யூ.எல் எஞ்சினுக்கு பதிலாக செல் ச்கிரிப்ட் மூலம் மதிப்பீடு செய்ய உருவாக்கப்பட்ட கோப்பில் " +"`$ {PREFIX}` என விரிவுபடுத்தப்படுகிறது." + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" +"மேலே உள்ள CWL கருவியைச் சோதிக்க, உள்ளீட்டு மதிப்பை `செய்தி` வழங்க இந்த வேலையைப் " +"பயன்படுத்தவும்:" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +msgid "`echo-job.yml`" +msgstr "`Echo-job.yml`" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" +"இதை இயக்குவதற்கு முன், ஒவ்வொரு அடியையும் இன்னும் கொஞ்சம் விரிவாகப் பார்ப்போம். அடிப்படை " +"கட்டளை `baseCommand: [\"sh\", \"example.sh\"]`என்ற கட்டளையை இயக்கும் `sh " +"example.sh`. இது செல்லில் நாம் உருவாக்கும் கோப்பை இயக்கும்." + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" +"`SiturtWorkDirRequirement க்கு` பட்டியல்` தேவை. `பட்டியல்` ஒரு YAML வரிசை என்பதால், " +"வரிசையின் ஒவ்வொரு உறுப்பின் முதல் வரியில் எங்களுக்கு`-'தேவை, இந்த விசயத்தில் எங்களிடம் ஒரு" +" உறுப்பு மட்டுமே உள்ளது. `நுழைவு பெயர்:` எந்த மதிப்பும் இருக்க முடியும், ஆனால் அது `பேச்" +" கமாண்டில்` குறிப்பிடப்பட்டவற்றுடன் பொருந்த வேண்டும். இறுதி பகுதி `நுழைவு:`, இதைத் " +"தொடர்ந்து `| --` இது யேம்ல் தொடரியல் மேற்கோள் காட்டுகிறது, மேலும் நீங்கள் ஒரு மல்டிலைன் சரம்" +" பயன்படுத்துகிறீர்கள் என்று பொருள் (அது இல்லாமல், முழு ச்கிரிப்டையும் ஒரு வரியில் எழுத " +"வேண்டும்)." + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" +"வடிவமைப்பைப் பற்றி மேலும் அறிய [YAML வழிகாட்டி](../topics/yaml-guide.md#maps) ஐப் " +"பார்க்கவும்." + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"இப்போது கருவி விளக்கம் மற்றும் கட்டளை வரியில் உள்ளீட்டு பொருளுடன் `CWLTool` ஐ அழைக்கவும்:" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "தனிப்பயன் வகைகள்" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" +"சில நேரங்களில் நீங்கள் சி.டபிள்யூ.எல் விளக்கங்களில் பயன்பாட்டிற்காகவும் மறுபயன்பாட்டுக்காகவும் " +"உங்கள் சொந்த தனிப்பயன் வகைகளை எழுத விரும்பலாம். இத்தகைய தனிப்பயன் வகைகளைப் பயன்படுத்துவது " +"அனைத்தும் ஒரே வகையைப் பயன்படுத்தும் பல விளக்கங்களுக்கிடையில் பணிநீக்கத்தைக் குறைக்கும், மேலும்" +" சி.டபிள்யூ.எல் விளக்கத்துடன் நேரடியாக ஃபிடில் செய்ய வேண்டிய அவசியமின்றி ஒரு " +"கருவி/பகுப்பாய்வின் கூடுதல் தனிப்பயனாக்கம்/உள்ளமைவை அனுமதிக்கும்." + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" +"ஒரு நிலையான பயோம் அட்டவணை கோப்பை HDF5 வடிவமாக மாற்றுவதற்கான [பயோம் மாற்றும் வடிவம்]" +"[biom] கருவியின் CWL விளக்கம் கீழே உள்ள எடுத்துக்காட்டு." + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +msgid "`custom-types.cwl`" +msgstr "`Custom-types.cwl`" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +msgid "`custom-types.yml`" +msgstr "`Custom-types.yml`" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" +"___ குறிப்பு. rod_sparse_otu_table.biom), * rol_sparse_otu_table.biom * எ.கா. " +"`wget` வழியாக:" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" +"29 வது வரியில், `உள்ளீடுகள்: அட்டவணை_ வகை` இல், அட்டவணை மாற்றத்தில் பயன்படுத்த " +"அனுமதிக்கக்கூடிய அட்டவணை விருப்பங்களின் பட்டியல் தனிப்பயன் பொருளாக இறக்குமதி " +"செய்யப்படுகிறது:" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" +"தனிப்பயன் வகைக்கான குறிப்பு என்பது பொருள் வரையறுக்கப்பட்ட (`பயோம்-கோன்வர்ட்-டேபிள்.யம்ல்`) " +"மற்றும் அந்த கோப்பில் உள்ள பொருளின் பெயர் (` டேபிள்_ டைப்`) தனிப்பயனை வரையறுக்கும் கோப்பின் " +"பெயரின் கலவையாகும் தட்டச்சு செய்க. இந்த வழக்கில் இறக்குமதி செய்யப்பட்ட `பயோம்-கான்வர்ட்-டேபிள்" +".யம்ல்` கோப்பிலிருந்து` சின்னங்கள்` வரிசை அனுமதிக்கக்கூடிய அட்டவணை விருப்பங்களை " +"வரையறுக்கவும். எடுத்துக்காட்டாக, `Custom-types.yml` இல், HDF5 வடிவத்தில் OTU அட்டவணையை" +" உருவாக்க கருவியைச் சொல்லும்` உள்ளீட்டாக '`OTU அட்டவணையை` கடந்து செல்கிறோம்." + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" +"தனிப்பயன் வகையை விவரிக்கும் YAML கோப்பின் உள்ளடக்கங்கள் கீழே கொடுக்கப்பட்டுள்ளன:" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +msgid "`biom-convert-table.yaml`" +msgstr "`பயோம்-கான்ப்-டேபிள்.யம்ல்`" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" +"CWL விளக்கத்தில் தனிப்பயன் வகை பயன்படுத்தப்படுவதற்கு, அது இறக்குமதி செய்யப்பட வேண்டும். " +"இறக்குமதிகள் `தேவைகள்: ச்கெமேட்ஃப்ரெக்விரெமென்ட்` இல் விவரிக்கப்பட்டுள்ளன, எடுத்துக்காட்டாக` " +"தனிப்பயன்-வகை. சி.டபிள்யூ.எல்` விளக்கம்:" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" +"இந்த சி.டபிள்யூ.எல் விளக்கத்தின் ஆசிரியருக்கு `ResourceRequirement`'ச் ஆகியவை அடங்கும் " +"என்பதையும் நினைவில் கொள்க, கருவிக்கு வெற்றிகரமாக இயங்க தேவையான குறைந்தபட்ச ரேம் மற்றும் " +"கோரின் எண்ணிக்கையையும், விளக்கம் எழுதப்பட்ட மென்பொருளின் பதிப்பின் விவரங்களையும் " +"குறிப்பிடுகிறது என்பதையும் நினைவில் கொள்க மற்றும் பிற பயனுள்ள மேனிலை தரவு. இந்த பயனர் " +"வழிகாட்டியின் பிற அத்தியாயங்களில் இந்த நற்பொருத்தங்கள் மேலும் விவாதிக்கப்படுகின்றன." + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "சுற்றுச்சூழல் மாறிகள்" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" +"கருவிகள் தடைசெய்யப்பட்ட சூழலில் இயங்குகின்றன மற்றும் பெற்றோர் செயல்முறையிலிருந்து " +"பெரும்பாலான சுற்றுச்சூழல் மாறிகள் பெறவில்லை. `Envvarrequirement` ஐப் பயன்படுத்தி " +"கருவிக்கான சூழல் மாறிகள் அமைக்கலாம்." + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +msgid "`env.cwl`" +msgstr "`Env.cwl`" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "வெளிப்பாடு கருவி" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" +"ஒரு வெளிப்பாடு கருவி என்பது ஒரு வகை செயல்முறையாகும், இது தானாகவே அல்லது பணிப்பாய்வு " +"படியாக இயக்கப்படலாம். இது ஒரு தூய சாவாச்கிரிப்ட் வெளிப்பாட்டை செயல்படுத்துகிறது. உள்ளீட்டு" +" தரவுகளில் செயல்பட வேண்டிய மற்றும் சில முடிவுகளை வெளியீடாக உருவாக்க வேண்டிய சிக்கலான " +"சாவாச்கிரிப்ட் வெளிப்பாடுகளை தனிமைப்படுத்துவதற்கான ஒரு வழியாக இது பயன்படுத்தப்பட " +"வேண்டும்." + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" +"கட்டளை-வரி கருவியைப் போலவே இதற்கு `உள்ளீடுகள்` மற்றும்` வெளியீடுகள்` தேவைப்படுகிறது. " +"ஆனால் `பேச் கமாண்டிற்கு` பதிலாக, அதற்கு ஒரு` வெளிப்பாடு` பண்புக்கூறு தேவைப்படுகிறது." + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "சி.டபிள்யூ.எல் வெளிப்பாடு கருவி." + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +msgid "`uppercase.cwl`" +msgstr "`Worpercase.cwl`" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" +"எங்கள் வெளிப்பாடு `.touppercase ()` இல் சாவாச்கிரிப்ட் அழைப்பைக் கொண்டிருப்பதால், `" +"inlinejavascriptrequirement 'ஐப் பயன்படுத்த வேண்டியிருந்தது. சாவாச்கிரிப்ட் ஒரு தேவை " +"என்று வெளிப்பாடு கருவியைப் பயன்படுத்தும் கருவிகளுக்கு இதன் பொருள்." + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "வெளிப்பாடுகள்" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" +"நீங்கள் உள்ளீட்டு அளவுருக்களைக் கையாள வேண்டும் என்றால், `inlinejavascriptrequirement` " +"தேவையைச் சேர்க்கவும், பின்னர் எங்கும் ஒரு அளவுரு குறிப்பு சட்டப்பூர்வமானது, நீங்கள் CWL " +"ரன்னரால் மதிப்பீடு செய்யப்படும் சாவாச்கிரிப்ட்டின் ஒரு பகுதியை வழங்க முடியும்." + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" +"சாவாச்கிரிப்ட் வெளிப்பாடுகள் முற்றிலும் தேவைப்படும்போது மட்டுமே பயன்படுத்தப்பட வேண்டும். " +"கோப்பு பெயர்கள், நீட்டிப்புகள், பாதைகள் போன்றவற்றைக் கையாளும் போது, `basename`,`nameroot`" +", `nameext` போன்றவற்றைப் போன்ற [` கோப்பு` பண்புகளில்][file-prop] ஒன்றைப் பயன்படுத்த " +"முடியுமா என்பதைக் கவனியுங்கள். [சிறந்த நடைமுறைகளின் பட்டியல்](best-practices.md) ஐப் " +"பார்க்கவும்." + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +msgid "`expression.cwl`" +msgstr "`Expression.cwl`" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" +"இந்த கருவிக்கு `inputs`தேவையில்லை என்பதால், அதை (கிட்டத்தட்ட) வெற்று வேலை கோப்புடன் இயக்" +"க முடியும்:" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +msgid "`empty.yml`" +msgstr "`gaing.yml`" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" +"`gall.yml` வெற்று சாதொபொகு பொருளின் விளக்கத்தைக் கொண்டுள்ளது. சாதொபொகு பொருள்களின் " +"விளக்கங்கள் சுருள் அடைப்புக்குறிக்குள் உள்ளன `{}`, எனவே ஒரு வெற்று பொருள் வெறுமனே வெற்று " +"அடைப்புக்குறிகளால் குறிப்பிடப்படுகிறது." + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "நாம் `Expression.cwl` ஐ இயக்கலாம்:" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "`Expression.cwl` ஐ இயக்குகிறது" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" +"மேலே உள்ள எடுத்துக்காட்டில் உள்ளதைப் போல, வரைபடத் தொடரியல் மூலம் தேவைகளை வழங்க முடியும் " +"என்பதை நினைவில் கொள்க:" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" +"அல்லது ஒரு வரிசையாக, ஒவ்வொரு நுழைவுடனும் (இந்த விசயத்தில், `வகுப்பு: " +"inlinejavascriptrequirement`) ஒரு` -` ஆல் குறிக்கப்பட்டுள்ளது. கூடுதல் கட்டளை வரி " +"வாதங்களை விவரிக்க அதே தொடரியல் பயன்படுத்தப்படுகிறது." + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "சாவாச்கிரிப்ட் வெளிப்பாடுகள் எங்கே அனுமதிக்கப்படுகின்றன?" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" +"[அளவுரு குறிப்புகள்](parameter-references.md) போலவே, நீங்கள் சில துறைகளில் மட்டுமே " +"சாவாச்கிரிப்ட் வெளிப்பாடுகளைப் பயன்படுத்தலாம். அவை:" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"[`CommandLineTool`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineTool) இலிருந்து" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "`வாதங்கள்`" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +msgid "`valueFrom`" +msgstr "`மதிப்பு`" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +msgid "`stdin`" +msgstr "`stdin`" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +msgid "`stdout`" +msgstr "`stdout`" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +msgid "`stderr`" +msgstr "`ச்டைடர்`" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"[CommandInputParameter](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandInputParameter) இலிருந்து" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "`வடிவமைப்பு`" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +msgid "`secondaryFiles`" +msgstr "`இரண்டாம் நிலை கோப்புகள்`" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"[`inputBinding`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineBinding) இலிருந்து" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"[CommandOutputParamater](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputParameter)இலிருந்து" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"[CommandOutputBinding](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputBinding) இலிருந்து" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +msgid "`glob`" +msgstr "`குளோப்`" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +msgid "`outputEval`" +msgstr "`outputEval`" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "`பணிப்பாய்வு` இலிருந்து" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"இருந்து [InputParameter](https://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/" +"v1.0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "`படிகள்` இலிருந்து" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"[WorkflowStepInput](https://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput) இலிருந்து" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool) " +"இலிருந்து" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "`வெளிப்பாடு`" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"இருந்து [InputParameter](https://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl" +".org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#ResourceRequirement) இலிருந்து" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +msgid "`coresMin`" +msgstr "`colorsmin`" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +msgid "`coresMax`" +msgstr "`colorsmax`" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +msgid "`ramMin`" +msgstr "`ramMin`" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +msgid "`ramMax`" +msgstr "`rammax`" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +msgid "`tmpdirMin`" +msgstr "`tmpdirMin`" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +msgid "`tmpdirMax`" +msgstr "`tmpdirmax`" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +msgid "`outdirMin`" +msgstr "`வெளிப்புறம்`" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +msgid "`outdirMax`" +msgstr "`outtirmax`" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement) இலிருந்து" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "`பட்டியல்`" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "[Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)இல்" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "`நுழைவு`" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +msgid "`entryname`" +msgstr "`entryName`" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "`Envvarrequirement` இலிருந்து" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"[EnvironmentDef](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#EnvironmentDef) இலிருந்து" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +msgid "`envValue`" +msgstr "`envValue`" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" +"வெளிப்புற நூலகங்கள் மற்றும் இன்லைன் சாவாச்கிரிப்ட் குறியீட்டை `எக்ச்பிரசன் லிப்` உடன் " +"பயன்படுத்துதல்" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" +"`Inlinejavascriptrequirement` தேவை ஒரு` எக்ச்பிரசன் லிப்` பண்புகளை ஆதரிக்கிறது, இது" +" பயனர்களை வெளிப்புற சாவாச்கிரிப்ட் கோப்புகளை ஏற்ற அனுமதிக்கிறது அல்லது இன்லைன் " +"சாவாச்கிரிப்ட் குறியீட்டை வழங்குகிறது." + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" +"`எக்ச்பிரசன் லிப்` பண்புக்கூறில் சேர்க்கப்பட்ட உள்ளீடுகள் ஒரு சி.டபிள்யூ.எல் ரன்னரின் " +"சாவாச்கிரிப்ட் எஞ்சினுடன் பாகுபடுத்தப்படுகின்றன. வெளிப்புற கோப்புகளைச் சேர்க்க அல்லது சி." +"டபிள்யூ.எல் ஆவணத்தின் பிற பகுதிகளில் அழைக்கக்கூடிய சாவாச்கிரிப்ட் செயல்பாடுகளை உருவாக்க " +"இதைப் பயன்படுத்தலாம்." + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" +"CWL தரநிலைகள் (பதிப்புகள் 1.0 முதல் 1.2 வரை) CWL வெளிப்பாடுகளில் செல்லுபடியாகும் ஒரே " +"ஜாவாஸ்கிரிப்ட் பதிப்பு [ECMAScript 5.1](https://262.ecma-international.org/5.1/) " +"[என்று](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) " +"கூறுகிறது. சி.டபிள்யூ.எல். இதன் பொருள் உங்கள் சி.டபிள்யூ.எல் ஆவணத்தில் நீங்கள் உள்ளடக்கிய " +"அல்லது எழுதும் எந்த குறியீடும் எக்மாச்கிரிப்ட் 5.1 உடன் இணக்கமாக இருக்க வேண்டும்." + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" +"எடுத்துக்காட்டாக, நாம் `inlinejavascriptrequirement` ஐப் பயன்படுத்தலாம் மற்றும்` " +"எக்ச்பிரசன் லிப்` இல் சாவாச்கிரிப்ட் செயல்பாட்டை எழுதலாம். அந்த செயல்பாட்டை சி.டபிள்யூ.எல் " +"ஆவணத்தின் பிற பகுதிகளில் பயன்படுத்தலாம்:" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "`அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்-இன்லைன்.ச்விஎல்`" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" +"இந்த சி.டபிள்யூ.எல் பணிப்பாய்வுகளை இயக்குவது சாவாச்கிரிப்ட் செயல்பாட்டைக் கோரும், இதன் " +"விளைவாக `எதிரொலி` கட்டளை மூலதன ஆரம்ப எழுத்துக்களுடன் உள்ளீட்டு செய்தியை அச்சிடுகிறது:" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "`அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்-இன்லைன்.ச்விஎல்` இயக்குகிறது." + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" +"`மூலதன சொற்கள்` செயல்பாட்டை வெளிப்புறக் கோப்பிற்கு,` தனிப்பயன்-செயல்பாடுகள். Js` க்கு " +"நகர்த்துவோம், அதை எங்கள் CWL ஆவணத்தில் இறக்குமதி செய்வோம்:" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +msgid "`custom-functions.js`" +msgstr "`தனிப்பயன்-செயல்பாடுகள். js`" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "`அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்-எக்ச்டெர்னல்.ச்விஎல்`" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" +"`Custom-functions.js` கோப்பு CWL ஆவணத்தில்` $ உடன் சேர்க்கப்பட்டுள்ளது: " +"தனிப்பயன்-செயல்பாடுகள். JS` அறிக்கை. இது சி.டபிள்யூ.எல் ஆவணத்தின் பிற பகுதிகளில் " +"பயன்படுத்த செயல்பாடுகள் மற்றும் மாறிகள் கிடைக்கச் செய்கிறது." + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "இயங்கும் `அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்-எக்ச்டெர்னல்.ச்விஎல்`." + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" +"இறுதியாக, உங்கள் CWL ஆவணத்தில் இன்லைன் மற்றும் வெளிப்புற சாவாச்கிரிப்ட் குறியீடு இரண்டையும் " +"வைத்திருக்க முடியும் என்பதை நினைவில் கொள்க. இந்த இறுதி எடுத்துக்காட்டில், `எக்ச்பிரசன் லிப்`" +" பண்புக்கூறுக்கு புதிய செயல்பாடு` கிரியேட்டிவெல்லோஆர்ல்ட்மெசேச்` உடன் மற்றொரு நுழைவைச் " +"சேர்த்துள்ளோம், இது வெளிப்புறக் கோப்பிலிருந்து `தனிப்பயன்-செயல்பாடுகள். சே.எச்." + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +msgid "`hello-world-expressionlib.cwl`" +msgstr "`அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்.ச்விஎல்`" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "`அலோ-வேர்ல்ட்-எக்ச்பிரசன் லிப்.ச்விஎல்` இயங்கும்." + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" +"உள்ளக வட்டில் இருந்து அல்லது தொலைதூர இடத்திலிருந்து ஒரு கோப்பைச் சேர்க்க `$include` " +"அறிக்கை பயன்படுத்தப்படலாம். இது உறவினர் மற்றும் முழுமையான பாதைகளுடன் செயல்படுகிறது. " +"சி.டபிள்யூ.எல் விவரக்குறிப்பிலிருந்து அதைப் பற்றி மேலும் அறிய CWL விவரக்குறிப்பிலிருந்து" +" [`$include` அடங்கும்](https://www.commonwl.org/v1.0/SchemaSalad.html#Include)." + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "கோப்பு வடிவங்கள்" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" +"கருவிகள் மற்றும் பணிப்பாய்வுகள் `கோப்பு` வகைகளை உள்ளீடாக எடுத்து அவற்றை வெளியீடாக " +"உருவாக்கலாம். `கோப்பு` வகைகளுக்கான வடிவமைப்பைக் குறிக்க பரிந்துரைக்கிறோம். அளவுரு " +"கோப்புகளை உருவாக்கும்போது சில எளிய வகை சரிபார்ப்பைச் செய்ய உங்களை அனுமதிக்கும் போது " +"உங்கள் கருவியை எவ்வாறு பயன்படுத்துவது என்பது மற்றவர்களுக்கு ஆவணப்படுத்த உதவுகிறது." + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" +"கோப்பு வடிவங்களுக்கு, ஏற்கனவே உள்ள ஆன்டாலசிகளைக் குறிப்பிட பரிந்துரைக்கிறோம் (எங்கள் " +"எடுத்துக்காட்டில் எடாம் போன்றவை), உங்கள் நிறுவனத்திற்கான உள்ளக ஆன்டாலசியைக் குறிப்பிடவும் " +"அல்லது உங்கள் கருவியை மற்றவர்களுடன் பகிர்வதற்கு முன்பு விரைவான மேம்பாட்டிற்காக ஆரம்பத்தில் " +"ஒரு கோப்பு வடிவமைப்பைச் சேர்க்க வேண்டாம். ஏற்கனவே உள்ள [IANA கோப்பு வடிவமைப்பு பட்டியல்கள்]" +" [IANA] மற்றும் [EDAM கோப்பு வடிவமைப்பு] [EDAM] ஆகியவற்றை அவர்களின் வலைத்தளங்களில் " +"உலாவலாம்." + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" +"அடுத்த டுடோரியலில், ஆவணத்தின் `$ பெயர்வெளிகள்` மற்றும்` $ ச்கேமாச்` பகுதியை இன்னும் " +"விரிவாக விளக்குகிறோம், எனவே இப்போதைக்கு இதைப் பற்றி கவலைப்பட வேண்டாம்." + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" +"கூடுதல் மதிப்புக்கு `cwltool` கோப்பு வடிவங்களின் அடிப்படையில் சில அடிப்படை " +"பகுத்தறிவுகளைச் செய்யலாம் மற்றும் சில வெளிப்படையான பொருந்தாத தன்மைகள் இருப்பதாகத் " +"தோன்றினால் உங்களை எச்சரிக்கலாம்." + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +msgid "`metadata_example.cwl`" +msgstr "`metadata_example.cwl`" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "கட்டளை வரி வடிவத்தில் இந்த சி.டபிள்யூ.எல் விளக்கத்திற்கு சமம்:" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "மாதிரி அளவுரு கோப்புகள்" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" +"மேலே உள்ள எடுத்துக்காட்டுக்கு ஒரு அளவுரு கோப்பின் எடுத்துக்காட்டு கீழே. உங்கள் கருவிக்கான " +"அளவுரு கோப்புகளின் வேலை எடுத்துக்காட்டுகளைச் சரிபார்க்க நாங்கள் ஊக்குவிக்கிறோம். இது \"அற" +"ியப்பட்ட நல்ல\" அளவுருவாக்கத்திலிருந்து தொடங்கி, உங்கள் கருவியுடன் விரைவாக வேலை செய்ய " +"மற்றவர்கள் அனுமதிக்கிறது." + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +msgid "`sample.yml`" +msgstr "`மாதிரி.ஒய்எம்எல்`" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" +"___ குறிப்பு: ___ கீழே உள்ள எடுத்துக்காட்டைப் பின்பற்ற, நீங்கள் எடுத்துக்காட்டு உள்ளீட்டு கோப்பை" +" பதிவிறக்கம் செய்ய வேண்டும், *கோப்பு-வடிவங்கள் .பாம் *. கோப்பு இலிருந்து கிடைக்கிறது, மேலும் பதிவிறக்கம் செய்யலாம் எ.கா. `wget` " +"வழியாக:" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "தலைப்புகள்" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "உள்ளீடுகள்" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "அத்தியாவசிய உள்ளீட்டு அளவுருக்கள்" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" +"ஒரு கருவியின் `உள்ளீடுகள்` கருவியை எவ்வாறு இயக்குவது என்பதைக் கட்டுப்படுத்தும் உள்ளீட்டு " +"அளவுருக்களின் பட்டியல். ஒவ்வொரு அளவுருவிலும் அளவுருவின் பெயருக்கு `ஐடி` உள்ளது, மேலும் " +"அந்த அளவுருவுக்கு எந்த வகையான மதிப்புகள் செல்லுபடியாகும் என்பதை விவரிக்கிறது." + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" +"கிடைக்கக்கூடிய பழமையான வகைகள் *சரம் *, *எண்ணாக *, *நீண்ட *, *மிதவை *, *இரட்டை *, " +"மற்றும் *பூச்ய *; சிக்கலான வகைகள் *வரிசை *மற்றும் *பதிவு *; கூடுதலாக சிறப்பு வகைகள் " +"*கோப்பு *, *அடைவு *மற்றும் *ஏதேனும் *உள்ளன." + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" +"பின்வரும் எடுத்துக்காட்டு வெவ்வேறு வகைகளுடன் சில உள்ளீட்டு அளவுருக்களை நிரூபிக்கிறது " +"மற்றும் கட்டளை வரியில் வெவ்வேறு வழிகளில் தோன்றும்." + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "முதலில், பின்வருவனவற்றைக் கொண்ட `inp.cwl` என்ற கோப்பை உருவாக்கவும்:" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +msgid "`inp.cwl`" +msgstr "`Inp.cwl`" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "`Inp-job.yml` என்ற கோப்பை உருவாக்கவும்:" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +msgid "`inp-job.yml`" +msgstr "`inp-job.yml`" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" +"வார்ப்புரு உள்ளீட்டு பொருளை உருவாக்க நீங்கள் `CWLTool` ஐப் பயன்படுத்தலாம். உள்ளீட்டு பொருள் " +"கோப்பில் அனைத்து உள்ளீட்டு அளவுருக்களையும் தட்டச்சு செய்வதிலிருந்து உங்களை காப்பாற்றுகிறது:" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" +"நீங்கள் வெளியீட்டை ஒரு கோப்பிற்கு திருப்பி விடலாம், அதாவது `cwltool --make-template " +"inp.cwl> inp-job.yml`, பின்னர் இயல்புநிலை மதிப்புகளை நீங்கள் விரும்பிய உள்ளீட்டு " +"மதிப்புகளுடன் மாற்றலாம்." + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" +"`கோப்பு` வகையாக\" எடுத்துக்காட்டு_பீல் \",` வகுப்பு: கோப்பு` மற்றும் `பாதை` ஆகிய " +"புலங்களுடன் ஒரு பொருளாக வழங்கப்பட வேண்டும் என்பதைக் கவனியுங்கள்." + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "`touch whale.txt `டச் திமிங்கலம்." + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" +"`CWLTOOL INP.CWL INP-JOB.YML` என்ற கட்டளையைப் பயன்படுத்தி, கருவி விளக்கம் மற்றும் " +"கட்டளை வரியில் உள்ளீட்டு பொருளுடன்` CWLTool` ஐ இப்போது அழைக்கவும். பின்வரும் பெட்டி உரை " +"இந்த இரண்டு கட்டளைகளையும், கட்டளை வரியிலிருந்து எதிர்பார்க்கப்படும் வெளியீட்டையும் " +"விவரிக்கிறது:" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" +"சி.டபிள்யூ.எல் குறிப்பு ரன்னர் (சி.டபிள்யூ.எல்.டூல்) மற்றும் பிற ஓட்டப்பந்தய வீரர்கள் உங்கள் " +"உள்ளீட்டு கோப்புகளுக்கு குறியீட்டு (\"மென்மையான\") இணைப்புகளுடன் தற்காலிக கோப்பகங்களை " +"உருவாக்குகிறார்கள், கருவிகள் தற்செயலாக குறிப்பிடப்படாத கோப்புகளை அணுகவில்லை என்பதை " +"உறுதிப்படுத்தவும்" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" +"புலம் `inputBinding` விருப்பமானது மற்றும் கருவியின் கட்டளை வரியில் உள்ளீட்டு அளவுரு " +"எவ்வாறு தோன்ற வேண்டும் என்பதைக் குறிக்கிறது. `InputBinding` காணவில்லை என்றால், அளவுரு " +"கட்டளை வரியில் தோன்றாது. ஒவ்வொரு உதாரணத்தையும் விரிவாகப் பார்ப்போம்." + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" +"பூலியன் வகைகள் ஒரு கொடியாக கருதப்படுகின்றன. உள்ளீட்டு அளவுரு \"example_flag\" \"உண்மை" +"\" என்றால், `முன்னொட்டு` கட்டளை வரியில் சேர்க்கப்படும். தவறு என்றால், கொடி எதுவும் " +"சேர்க்கப்படவில்லை." + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" +"சரம் வகைகள் கட்டளை வரியில் நேரடி மதிப்புகளாக தோன்றும். `முன்னொட்டு` விருப்பமானது, " +"வழங்கப்பட்டால், அது அளவுருவுக்கு முன் கட்டளை வரியில் ஒரு தனி வாதமாகத் தோன்றுகிறது. மேலே" +" உள்ள எடுத்துக்காட்டில், இது `-எடுத்துக்காட்டாக-சரம் அலோ` என வழங்கப்படுகிறது." + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" +"தசம உரை பிரதிநிதித்துவத்துடன் கட்டளை வரியில் முழு எண் (மற்றும் மிதக்கும் புள்ளி) வகைகள் " +"தோன்றும். `தனித்தனியாக` விருப்பம் தவறானது (இயல்புநிலை மதிப்பு உண்மை), முன்னொட்டு மற்றும் " +"மதிப்பு ஒற்றை வாதமாக இணைக்கப்படுகின்றன. மேலே உள்ள எடுத்துக்காட்டில், இது `-i42` என " +"வழங்கப்படுகிறது." + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" +"கோப்பு வகைகள் கட்டளை வரியில் கோப்பின் பாதையாக தோன்றும். அளவுரு வகை ஒரு கேள்விக்குறியுடன்" +" முடிவடையும் போது `?` இது அளவுரு விருப்பமானது என்பதை இது குறிக்கிறது. மேலே உள்ள " +"எடுத்துக்காட்டில், இது `--file =/tmp/சீரற்ற/பாதை/திமிங்கலம். Txt` என வழங்கப்படுகிறது. " +"இருப்பினும், உள்ளீட்டில் \"எடுத்துக்காட்டு_பீல்\" அளவுரு வழங்கப்படவில்லை என்றால், கட்டளை " +"வரியில் எதுவும் தோன்றாது." + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" +"உள்ளீட்டு கோப்புகள் படிக்க மட்டுமே. உள்ளீட்டு கோப்பை நீங்கள் புதுப்பிக்க விரும்பினால், நீங்கள் " +"[முதலில் அதை வெளியீட்டு கோப்பகத்திற்கு நகலெடுக்க வேண்டும்](staging-input-files.md)." + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" +"கட்டளை வரியில் அளவுரு எங்கு தோன்ற வேண்டும் என்பதை தீர்மானிக்க `நிலை` இன் மதிப்பு " +"பயன்படுத்தப்படுகிறது. நிலைகள் ஒருவருக்கொருவர் தொடர்புடையவை, முழுமையானவை அல்ல. இதன் " +"விளைவாக, நிலைகள் தொடர்ச்சியாக இருக்க வேண்டியதில்லை, 1, 3, 5 நிலைகளைக் கொண்ட மூன்று " +"அளவுருக்கள் 1, 2, 3 ஆக அதே கட்டளை வரியை ஏற்படுத்தும். ஒன்றுக்கு மேற்பட்ட அளவுருவுகள் ஒரே" +" நிலையை கொண்டிருக்கலாம் (உறவுகளைப் பயன்படுத்தி உறவுகள் உடைக்கப்படுகின்றன அளவுரு பெயர்), " +"மற்றும் நிலை புலம் விருப்பமானது. இயல்புநிலை நிலை 0." + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" +"`பேச் கமாண்ட்` புலம் எப்போதும் அளவுருக்களுக்கு முன் இறுதி கட்டளை வரியில் தோன்றும்." + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "வரிசை உள்ளீடுகள்" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" +"கட்டளை வரியில் குறிப்பிடப்படும் உள்ளீட்டு அளவுருக்களின் வரிசைகளைச் சேர்ப்பது எளிது. வரிசை " +"அளவுருவைக் குறிப்பிட இரண்டு வழிகள் உள்ளன. முதலாவது `வகை` புலத்துடன்` வகை: வரிசை` " +"மற்றும் `உருப்படிகள்` வரிசையில் தோன்றக்கூடிய செல்லுபடியாகும் தரவு வகைகளை வரையறுத்தல். " +"மாற்றாக, உள்ளீட்டு அளவுரு அந்த வகையின் வரிசை என்பதைக் குறிக்க வகை பெயருக்குப் பிறகு " +"அடைப்புக்குறிகள் `[]` சேர்க்கப்படலாம்." + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +msgid "`array-inputs.cwl`" +msgstr "`வரிசை-inputs.cwl`" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +msgid "`array-inputs-job.yml`" +msgstr "`array-inputs-job.yml`" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"இப்போது கட்டளை வரியில் கருவி விளக்கத்தையும் உள்ளீட்டு பொருளையும் வழங்கும் `cwltool` ஐ " +"அழைக்கவும்:" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" +"`InputBinding` வெளிப்புற வரிசை அளவுரு வரையறை அல்லது உள் வரிசை உறுப்பு வரையறை " +"ஆகியவற்றில் தோன்றக்கூடும், மேலும் இவை மேலே காட்டப்பட்டுள்ளபடி கட்டளை வரியை உருவாக்கும் " +"போது வெவ்வேறு நடத்தைகளை உருவாக்குகின்றன. கூடுதலாக, `உருப்படி சிப்பி` புலம், " +"வழங்கப்பட்டால், வரிசை மதிப்புகள் உருப்படி பிரிப்பான் சரத்தால் பிரிக்கப்பட்ட ஒற்றை வாதமாக " +"இணைக்கப்பட வேண்டும் என்பதைக் குறிப்பிடுகிறது." + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" +"உள்ளீடுகளின் வரிசைகள் சதுர அடைப்புக்குறிக்குள் குறிப்பிடப்பட்டுள்ளன `[]` வரிசை-உள்ளீடுகள" +"்`array-inputs-job.yml` இல். பல வரிகளிலும் வரிசைகளையும் வெளிப்படுத்தலாம், அங்கு " +"தொடர்புடைய விசையுடன் வரையறுக்கப்படாத வரிசை மதிப்புகள் ஒரு முன்னணி `-` ஆல் " +"குறிக்கப்படுகின்றன. இது அடுத்த பாடத்தில் நிரூபிக்கப்படும் மற்றும் [YAML வழிகாட்டி](yaml-" +"guide.md#arrays) இல் விரிவாக விவாதிக்கப்படுகிறது. வரிசைகளின் வரிசைகள், பதிவுகளின் " +"வரிசைகள் மற்றும் பிற சிக்கலான வகைகளை நீங்கள் குறிப்பிடலாம்." + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "உள்ளடக்கிய மற்றும் பிரத்யேக உள்ளீடுகள்" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" +"சில நேரங்களில் ஒரு அடிப்படை கருவியில் பல வாதங்கள் உள்ளன, அவை ஒன்றாக வழங்கப்பட வேண்டும் " +"(அவை சார்புடையவை) அல்லது ஒன்றாக வழங்க முடியாத பல வாதங்கள் (அவை பிரத்தியேகமானவை). இந்" +"த இரண்டு நிபந்தனைகளையும் விவரிக்க நீங்கள் பதிவுகள் மற்றும் குழு அளவுருக்களை ஒன்றாக " +"இணைக்கலாம்." + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +msgid "`record.cwl`" +msgstr "`Record.cwl`" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +msgid "`record-job1.yml`" +msgstr "`Record-job1.yml`" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" +"முதல் எடுத்துக்காட்டில், `itemb` ஐ வழங்காமல்` உருப்படி` ஐ வழங்க முடியாது." + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +msgid "`record-job2.yml`" +msgstr "`Record-job2.yml`" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" +"இரண்டாவது எடுத்துக்காட்டில், `உருப்படிகள்` மற்றும்` உருப்படிகள்` பிரத்தியேகமானவை, எனவே " +"முதல் பொருந்தக்கூடிய உருப்படி (`itemc`) கட்டளை வரியில் சேர்க்கப்பட்டு மீதமுள்ள உருப்படி (`" +" உருப்படிகள்`) புறக்கணிக்கப்படுகிறது." + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +msgid "`record-job3.yml`" +msgstr "`Record-job3.yml`" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" +"மூன்றாவது எடுத்துக்காட்டில், `itemd` மட்டுமே வழங்கப்படுகிறது, எனவே இது கட்டளை வரியில் " +"தோன்றும்." + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "வெளிப்பாடுகளுடன் பிரத்யேக உள்ளீட்டு அளவுருக்கள்" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" +"வெளிப்பாடுகளுடன் இணைந்து பிரத்யேக உள்ளீட்டு அளவுருக்களைப் பயன்படுத்தினால், `உள்ளீடுகள்` " +"சாவாச்கிரிப்ட் பொருளில் பிரத்யேக உள்ளீட்டு மதிப்புகளில் ஒன்று இருக்கும் என்பதை நீங்கள் " +"அறிந்திருக்க வேண்டும். இதன் பொருள் எந்த மதிப்புகள் உள்ளன என்பதைச் சரிபார்க்க நீங்கள் ** அல்லது " +"** பூலியன் ஆபரேட்டரைப் பயன்படுத்த வேண்டியிருக்கும்." + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" +"`NULL` (அதாவது மதிப்பு எதுவும் வழங்கப்படவில்லை) அல்லது ஒரு ENUM இலிருந்து எந்த " +"மதிப்பையும் ஏற்றுக்கொள்ளும் பிரத்யேக` file_format` உள்ளீட்டு அளவுருவைக் கொண்ட ஒரு " +"உதாரணத்தைப் பயன்படுத்துவோம்." + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`பிரத்யேக-அளவுரு-வெளிப்பாடுகள். cwl`" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" +"`பூச்ய` மதிப்பைக் கருத்தில் கொள்ளாமல் சாவாச்கிரிப்ட் வெளிப்பாடு பிரத்யேக உள்ளீட்டு அளவுருவின்" +" மதிப்பை எவ்வாறு பயன்படுத்துகிறது என்பதைக் கவனியுங்கள். “ஃபாச்டா” (ENUM இன் மதிப்புகளில் " +"ஒன்று) போன்ற சரியான மதிப்பை நீங்கள் வழங்கினால், உங்கள் கட்டளை வெற்றிகரமாக செயல்படுத்த " +"வேண்டும்:" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" +"இருப்பினும், நீங்கள் எந்த உள்ளீட்டு மதிப்பையும் வழங்கவில்லை என்றால், `file_format` ஒரு` " +"பூச்ய` மதிப்புக்கு மதிப்பீடு செய்யப்படும், இது வெளியீட்டு புலத்திற்கான எதிர்பார்க்கப்படும் " +"வகையுடன் பொருந்தாது (ஒரு `சரம்`), இதன் விளைவாக உங்கள் பணிப்பாய்வுகளை இயக்கும் போது " +"தோல்வி ஏற்படும் ." + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" +"அதை சரிசெய்ய, பிரத்யேக அளவுருக்களைப் பயன்படுத்தும் போது அல்லது `NULL` ஐ அனுமதிக்கும் எந்" +"த அளவுருவையும் பயன்படுத்தும் போது உங்கள் சாவாச்கிரிப்ட் வெளிப்பாட்டில் ஒரு அல்லது " +"ஆபரேட்டரைப் பயன்படுத்த நினைவில் கொள்ள வேண்டும். எடுத்துக்காட்டாக, வெளிப்பாட்டை கட்டளை வரி " +"அல்லது வேலை உள்ளீட்டு கோப்பில் எதுவும் வழங்கப்படாவிட்டால் இயல்புநிலை மதிப்பைக் கொண்டிருக்க `$" +" (உள்ளீடுகள்." + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "மேனிலை தரவு மற்றும் படைப்புரிமை" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" +"சரியான செயலாக்கத்திற்கு அமலாக்க நீட்டிப்புகள் தேவையில்லை (எடுத்துக்காட்டாக, GUI " +"விளக்கக்காட்சி தொடர்பான புலங்கள்) மற்றும் கருவி அல்லது பணிப்பாய்வு பற்றிய மேனிலை தரவு " +"(எடுத்துக்காட்டாக, மேற்கோள்களில் பயன்படுத்துவதற்கான படைப்புரிமை) எந்தவொரு பொருளிலும் " +"கூடுதல் புலங்களாக வழங்கப்படலாம். [Schema Salad specification][schema-salad] இல் " +"விவரிக்கப்பட்டுள்ளபடி, ஆவணத்தின் `$ பெயர்வெளிகள்` பிரிவில் (எ.கா. `edam: http://" +"edamontology.org/`) பட்டியலிடப்பட்டுள்ள பெயர்வெளி முன்னொட்டை இத்தகைய நீட்டிப்பு புலங்கள் " +"(எ.கா.`format: edam:format_2572`). பெயர்வெளி முன்னொட்டை நீங்கள் சேர்த்தவுடன், கீழே " +"காட்டப்பட்டுள்ளபடி ஆவணத்தில் எங்கும் அதை அணுகலாம். இல்லையெனில், ஒருவர் முழு முகவரி களைப் " +"பயன்படுத்த வேண்டும்: `format: http://edamontology.org/format_2572`." + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" +"அனைத்து டெவலப்பர்களுக்கும், உங்கள் கருவி மற்றும் பணிப்பாய்வுகளுக்கான பின்வரும் குறைந்தபட்ச " +"மெட்டாடேட்டாவை நாங்கள் பரிந்துரைக்கிறோம். இந்த எடுத்துக்காட்டில் மேனிலை தரவு உங்கள் கருவியை" +" மேற்கோள் காட்ட அனுமதிக்கிறது." + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +msgid "`metadata_example2.cwl`" +msgstr "`metadata_example2.cwl`" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "நீட்டிக்கப்பட்ட எடுத்துக்காட்டு" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" +"அதிக உந்துதல் கொண்டவர்களுக்கு, உங்கள் கருவியை மிகப் பெரிய அளவிலான மேனிலை தரவு மூலம் " +"சிறுகுறிப்பு செய்ய முடியும். இந்த எடுத்துக்காட்டில் EDAM ஆன்டாலசி குறிச்சொற்களை முக்கிய " +"வார்த்தைகளாக (தொடர்புடைய கருவிகளின் தொகுப்பை அனுமதிக்கிறது), கருவியைப் " +"பயன்படுத்துவதற்கு வன்பொருள் தேவைகள் மற்றும் இன்னும் சில மேனிலை தரவு புலங்கள் ஆகியவை " +"அடங்கும்." + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +msgid "`metadata_example3.cwl`" +msgstr "`metadata_example3.cwl`" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "செயல்பாடுகள்" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" +"ஒரு செயல்பாடு என்பது ஒரு வகை சி.டபிள்யூ.எல் செயல்முறையாகும், இது ஒரு பணிப்பாய்வு, " +"கட்டளை-வரி கருவி அல்லது வெளிப்பாடு கருவி போன்றது. இது உள்ளீடுகள் மற்றும் வெளியீடுகளைக் " +"குறிப்பிடும் பணிப்பாய்வுகளின் ஒரு படியாகும், ஆனால் இது செயல்படுத்த போதுமான தகவல்களை " +"வழங்காது." + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" +"ஒரு சி.டபிள்யூ.எல் ரன்னருக்கு பணிப்பாய்வுகளை சமர்ப்பிக்க நீங்கள் தயாராக இருப்பதற்கு முன்பு, " +"வளர்ச்சியின் போது ஒரு பணிப்பாய்வுகளை காட்சிப்படுத்த நீங்கள் செயல்பாடுகளை உருவாக்கலாம்:" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +msgid "`operations.cwl`" +msgstr "`செயல்பாடுகள். CWL`" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" +"The `uppercase` படி of the workflow is an operation. இது ஒரு கட்டளை வரி கருவி " +"அல்லது வெளிப்பாடு போல பயன்படுத்தப்படலாம். நீங்கள் அதை CWL பார்வையாளர் அல்லது `CWLTool` " +"உடன் சூழ்ச்சி செய்யலாம்:" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" +"மேலே உள்ள கட்டளையின் வெளியீட்டை ஒரு கிராப்விச் ரெண்டரர் மூலம் வழங்கலாம். பின்வரும் படம் " +"சூரரிமாச்சிலை Craffviz உத்தரவுடன் வழங்கப்படுகிறது (இந்த பயனர் வழிகாட்டி சூரரிமாச்சிலை " +"உடன் கட்டப்பட்டுள்ளது):" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" +"`Cwltool` உடன் அதை இயக்க முயற்சித்தால்,` cwltool` ஐ எவ்வாறு செயல்படுத்துவது என்பதை அறி" +"ய போதுமான தகவல்கள் இல்லை என்பதால் கட்டளை தோல்வியடையும்:" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "`cwltool` செயல்பாடுகளை எவ்வாறு இயக்குவது என்று தெரியவில்லை" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" +"சி.டபிள்யூ.எல் ஓட்டப்பந்தய வீரர்கள் செயல்பாடுகளை உறுதியான படிகளுடன் பிணைப்பதற்கான வழிகளைக்" +" கொண்டு வரக்கூடும். ஒரு சி.டபிள்யூ.எல் ரன்னர், உதாரணமாக, ஐடியுடன் சுருக்க செயல்பாடுகளைப்" +" பயன்படுத்தலாம், இது வேறு பணிப்பாய்வு இயந்திரத்தால் செயல்படுத்தப்படும் படிகளுக்கு " +"ஒத்திருக்கிறது." + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "வெளியீடுகள்" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "வெளியீட்டு கோப்புகளைத் தருகிறது" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" +"ஒரு கருவியின் `வெளியீடுகள்` கருவியை இயக்கிய பின் திருப்பித் தர வேண்டிய வெளியீட்டு " +"அளவுருக்களின் பட்டியல். ஒவ்வொரு அளவுருவிலும் அளவுருவின் பெயருக்கு `ஐடி` உள்ளது, மேலும் " +"அந்த அளவுருவுக்கு எந்த வகையான மதிப்புகள் செல்லுபடியாகும் என்பதை விவரிக்கிறது." + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" +"CWL இன் கீழ் ஒரு கருவி இயங்கும்போது, தொடக்க வேலை அடைவு என்பது நியமிக்கப்பட்ட வெளியீட்டு " +"அடைவு ஆகும். அடிப்படை கருவி அல்லது ச்கிரிப்ட் அதன் முடிவுகளை வெளியீட்டு கோப்பகத்தில் " +"உருவாக்கிய கோப்புகளின் வடிவத்தில் பதிவு செய்ய வேண்டும். சி.டபிள்யூ.எல் கருவியால் திரும்பி" +"ய வெளியீட்டு அளவுருக்கள் வெளியீட்டு கோப்புகள் அல்லது அந்த கோப்புகளின் உள்ளடக்கத்தை " +"ஆராய்வதிலிருந்து வந்தவை." + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" +"தார் கோப்பிலிருந்து பிரித்தெடுக்கப்பட்ட கோப்பை எவ்வாறு திருப்பித் தருவது என்பதை பின்வரும் " +"எடுத்துக்காட்டு நிரூபிக்கிறது." + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "கட்டாய வாதங்களை `பேச் கமாண்டிற்கு` அனுப்புதல்" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" +"முந்தைய எடுத்துக்காட்டுகளில், `baseCommand` ஒரு சரம் மட்டுமே, எந்தவொரு வாதங்களும் " +"சி.டபிள்யூ.எல் உள்ளீடுகளாக நிறைவேற்றப்பட்டன. ஒற்றை சரத்திற்கு பதிலாக நாம் _array இன் " +"சரத்திற்கு_ ஐப் பயன்படுத்தலாம். முதல் உறுப்பு இயக்க கட்டளை, மற்றும் அடுத்தடுத்த கூறுகள் கட்டா" +"ய கட்டளை வரி வாதங்கள்" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +msgid "`tar.cwl`" +msgstr "`tar.cwl`" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +msgid "`tar-job.yml`" +msgstr "`tar-job.yml`" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "அடுத்து, எடுத்துக்காட்டுக்கு ஒரு தார் கோப்பை உருவாக்கவும்." + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"இப்போது கருவி விளக்கம் மற்றும் கட்டளை வரியில் உள்ளீட்டு பொருளுடன் `cwltool` ஐ அழைக்கவும்:" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" +"ஒவ்வொரு வெளியீட்டு அளவுருவின் மதிப்பை எவ்வாறு அமைப்பது என்பதை புலம் `வெளியீடு பைண்டிங்` " +"விவரிக்கிறது." + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" +"`குளோப்` புலம் வெளியீட்டு கோப்பகத்தில் ஒரு கோப்பின் பெயரைக் கொண்டுள்ளது. முன்கூட்டியே " +"கோப்பின் பெயர் உங்களுக்குத் தெரியாவிட்டால், நீங்கள் `குளோப்: '*.txt'` போன்ற வைல்டு அட்டை " +"வடிவத்தைப் பயன்படுத்தலாம்." + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "நிலையான வெளியீட்டைக் கைப்பற்றுதல்" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" +"ஒரு கருவியின் நிலையான வெளியீட்டு ச்ட்ரீமைப் பிடிக்க, வெளியீட்டு ச்ட்ரீம் செல்ல வேண்டிய கோப்பின்" +" பெயருடன் `stdout` புலத்தைச் சேர்க்கவும். தொடர்புடைய வெளியீட்டு அளவுருவில் `வகை: " +"stdout` ஐச் சேர்க்கவும்." + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +msgid "`stdout.cwl`" +msgstr "`stdout.cwl`" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "வரிசை வெளியீடுகள்" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" +"`குளோப்` ஐப் பயன்படுத்தி பல வெளியீட்டு கோப்புகளையும் கோப்புகளின் வரிசையில் கைப்பற்றலாம்." + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +msgid "`array-outputs.cwl`" +msgstr "`array-outputs.cwl`" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +msgid "`array-outputs-job.yml`" +msgstr "`array-outputs-job.yml`" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" +"[YAML வழிகாட்டி](yaml-guide.md#arrays) இல் விவரிக்கப்பட்டுள்ளபடி, எதிர்பார்க்கப்படும் " +"வெளியீடுகளின் வரிசை `array-outputs-job.yml` இல் குறிப்பிடப்பட்டுள்ளது. வரவிருக்கும் " +"பல பிரிவுகளில் நிரூபிக்கப்பட்டபடி, வரிசைகளில் உள்ளீடுகளைக் குறிக்க CWL விளக்கங்களில் இந்த " +"வடிவத்தைப் பயன்படுத்தலாம்." + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "அளவுரு குறிப்புகள்" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" +"முந்தைய எடுத்துக்காட்டில், \"தார்\" நிரலைப் பயன்படுத்தி ஒரு கோப்பைப் பிரித்தெடுத்தோம். " +"எவ்வாறாயினும், அந்த எடுத்துக்காட்டு மிகவும் குறைவாகவே இருந்தது, ஏனெனில் நாங்கள் ஆர்வமாக " +"இருந்த கோப்பு \"அலோ.டெக்ச்டி\" என்று அழைக்கப்பட்டது, இது `.cwl` கோப்பில் எழுதப்பட்டது. " +"இதைச் செய்வதற்கான சிறந்த வழி இதுவல்ல, ஏனெனில் \"அலோ.டெக்ச்டி\" கோப்பு பெயர் மாறுபடலாம் " +"அல்லது பயன்படுத்தப்படும் உள்ளீட்டு கோப்பு (களை) சார்ந்துள்ளது. இதைத் தவிர்க்க, வேலை " +"அளவுருக்கள் கோப்பில் (`.yml`) நாம் விரும்பும் கோப்பின் பெயரை குறிப்பிடலாம். இந்த " +"எடுத்துக்காட்டில், உள்ளீட்டு அளவுருக்களின் மதிப்பை மற்ற புலங்களிலிருந்து மாறும் வகையில் " +"எவ்வாறு குறிப்பிடுவது என்பதை நீங்கள் காண்பீர்கள், இது பிரித்தெடுக்க கோப்பின் பெயரைக் குறிப்பி" +"ட அனுமதிக்கும்." + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +msgid "`tar-param.cwl`" +msgstr "`tar-param.cwl`" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" +"உங்கள் உள்ளீட்டு கோப்புகளை உருவாக்கி, கருவி விளக்கம் மற்றும் கட்டளை வரியில் உள்ளீட்டு " +"பொருளுடன் `CWLTool` ஐ அழைக்கவும்:" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" +"சில புலங்கள் `$ (...)` இல் இணைக்கப்பட்டுள்ள அளவுரு குறிப்புகளை அனுமதிக்கின்றன. இவை " +"மதிப்பீடு செய்யப்பட்டு குறிப்பிடப்படும் மதிப்பு மூலம் மாற்றப்படுகின்றன." + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" +"சாவாச்கிரிப்ட் தொடரியல் துணைக்குழுவைப் பயன்படுத்தி குறிப்புகள் எழுதப்பட்டுள்ளன. இந்த " +"எடுத்துக்காட்டில், `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, மற்றும் " +"`$(inputs['extractfile'])` ஆகியவை சமமானவை." + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" +"\"உள்ளீடுகள்\" மாறியின் மதிப்பு CWL கருவி செயல்படுத்தப்பட்டபோது வழங்கப்பட்ட உள்ளீட்டு பொருள்." + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" +"`கோப்பு` அளவுருக்கள் பொருள்கள் என்பதால், உள்ளீட்டு கோப்பிற்கான பாதையைப் பெற நீங்கள் ஒரு கோப்பு" +" பொருளில் பாதை புலத்தைக் குறிப்பிட வேண்டும்; மேலே உள்ள எடுத்துக்காட்டில் தார் கோப்பிற்கான " +"பாதையை குறிப்பிட நீங்கள் `$ (உள்ளீடுகள். tarfile.path)` எழுதுவீர்கள்." + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "அளவுரு குறிப்புகள் எங்கே அனுமதிக்கப்படுகின்றன?" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" +"நீங்கள் சில துறைகளில் அளவுரு குறிப்புகளை மட்டுமே பயன்படுத்த முடியும். அவை:" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"[`CommandLineTool`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineTool) இலிருந்து" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"[CommandInputParameter](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandInputParameter) இலிருந்து" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"[`inputBinding`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandLineBinding) இலிருந்து" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"[CommandOutputParamater](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputParameter) இலிருந்து" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"[CommandOutputBinding](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputBinding) இலிருந்து" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"இருந்து [InputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1" +".0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"[WorkflowStepInput](http://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput) இலிருந்து" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"இருந்து [InputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl." +"org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#ResourceRequirement) இலிருந்து" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement) இலிருந்து" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "[Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent) இல்" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"[EnvironmentDef](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#EnvironmentDef) இலிருந்து" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "தேவைகள் மற்றும் குறிப்புகள்" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "மென்பொருள் தேவைகளைக் குறிப்பிடுகிறது" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" +"பெரும்பாலும், ஒரு மென்பொருளின் குறிப்பிட்ட பதிப்பிற்கு கருவி விளக்கங்கள் எழுதப்படும். உங்கள்" +" விளக்கங்களைப் பயன்படுத்துவதை மற்றவர்களுக்கு எளிதாக்குவதற்கு, `குறிப்புகள்` பிரிவில்` " +"சாப்ட்வேர் ரெக்யூமென்ட்` புலத்தை சேர்க்கலாம். விளக்கம் ஒரு கருவியின் எந்த பதிப்பில் " +"எழுதப்பட்டது என்பது குறித்த குழப்பத்தைத் தவிர்க்க இது உதவக்கூடும்." + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" +"இந்த எடுத்துக்காட்டில், விவரிக்கப்படும் மென்பொருள் தேவை இன்டர்ரோச்கான் பதிப்பு 5.21-60 ஆகும்." + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" +"உங்கள் சி.டபிள்யூ.எல் ரன்னரைப் பொறுத்து, தேவையான மென்பொருள் நிறுவப்பட்டுள்ளதா என்பதைச் " +"சரிபார்க்க இந்த குறிப்புகள் பயன்படுத்தப்படலாம் மற்றும் வேலை இயங்குவதற்கு முன்பு கிடைக்கிறது" +". குறிப்பு செயல்படுத்தலுடன் இந்த காசோலைகளை இயக்க, [சார்பு தீர்வுகள் உள்ளமைவு]" +"[dependencies] ஐப் பயன்படுத்தவும்." + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" +"ஒரு பதிப்பு எண், கருவிக்கான தனித்துவமான வள அடையாளங்காட்டி (URI) ஒரு [RRID][rrid] " +"வடிவத்தில் கொடுக்கப்பட்டுள்ளது. RRIDS உடனான வளங்களை [SciCrunch][scicrunch] பதிவேட்டில்" +" பார்க்கலாம், இது விஞ்ஞான வளங்களைக் கண்டறிதல், கண்காணித்தல் மற்றும் குறிப்பிடுவதற்கான ஒரு " +"போர்ட்டலை வழங்குகிறது. நீங்கள் ஒரு கருவியை `SoftwareRequirement` எனக் குறிப்பிட " +"விரும்பினால், ச்கைசஞ்ச் மீது கருவியைத் தேடுங்கள் மற்றும் பதிவேட்டில் ஒதுக்கப்பட்டுள்ள RRID ஐப் " +"பயன்படுத்தவும். உங்கள் தேவை விளக்கத்தின் `specs` புலத்தில் உள்ள கருவியைக் (" +"[அடையாளங்காட்டிகள்.ஆர்ச்][scicrunch-add-tool] வழியாக) குறிப்பிட இந்த RRID ஐப் " +"பயன்படுத்தலாம். பிற நல்ல தேர்வுகள், விருப்பத்தின் வரிசையில், முக்கிய கருவி மேற்கோளுக்கான " +"DOI மற்றும் கருவிக்கு முகவரி ஐ சேர்க்க வேண்டும்." + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "உள்ளீட்டு கோப்புகளை நடத்துதல்" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" +"பொதுவாக, உள்ளீட்டு கோப்புகள் வெளியீட்டு கோப்பகத்திலிருந்து தனித்தனியாக வாசிப்பு மட்டும் " +"கோப்பகத்தில் அமைந்துள்ளன. அதே கோப்பகத்தில் உள்ளீட்டு கோப்போடு அதன் வெளியீட்டு கோப்புகளை எழுத " +"அடிப்படை கருவி எதிர்பார்க்கிறது என்றால் இது சிக்கல்களை ஏற்படுத்துகிறது. வெளியீட்டு " +"கோப்பகத்தில் உள்ளீட்டு கோப்புகளை நிலைநிறுத்த நீங்கள் `SiturtWorkWorkDirRequirement` ஐப் " +"பயன்படுத்துகிறீர்கள். இந்த எடுத்துக்காட்டில், உள்ளீட்டுக் கோப்பின் அடிப்படை பெயரை அதன் முன்னணி " +"அடைவு பாதையில் இருந்து பிரித்தெடுக்க சாவாச்கிரிப்ட் வெளிப்பாட்டைப் பயன்படுத்துகிறோம்." + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "சரிசெய்தல்" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" +"இந்த பிரிவில் சி.டபிள்யூ.எல் செயல்படுத்துவதில் சிக்கல் இருக்கும்போது சரிசெய்ய வழிகளைக் " +"காண்பீர்கள். நாங்கள் இங்கே `cwltool` இல் கவனம் செலுத்துகிறோம், ஆனால் இந்த நுட்பங்களில் சில பி" +"ற CWL ஓட்டப்பந்தய வீரர்களுக்கு பொருந்தும்." + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "`கேசெடிர்` உடன்` cwltool` ஐ இயக்கவும்" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" +"இடைநிலை கோப்புகளை கேச் செய்ய `cwltool` என்று சொல்ல ஒரு பணிப்பாய்வுகளை இயக்கும் போது " +"நீங்கள்`--cachedir` விருப்பத்தைப் பயன்படுத்தலாம் (உள்ளீடு அல்லது வெளியீட்டு கோப்புகள் அல்ல, " +"ஆனால் உங்கள் பணிப்பாய்வு இயங்கும் போது உருவாக்கப்பட்டது). இயல்பாக, இந்த கோப்புகள் ஒரு " +"தற்காலிக கோப்பகத்தில் உருவாக்கப்படுகின்றன, ஆனால் அவற்றை ஒரு தனி கோப்பகத்திற்கு எழுதுவது " +"அவற்றை அணுகுவதை எளிதாக்குகிறது." + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" +"பின்வரும் எடுத்துக்காட்டில் `சரிசெய்தல்-wf1.cwl` எங்களுக்கு இரண்டு படிகள் உள்ளன,` step_a` " +"மற்றும் `step_b`. பணிப்பாய்வு `எதிரொலி\" அலோ வேர்ல்ட் \"| க்கு சமம் ரெவ்`, இது \"அலோ " +"வேர்ல்ட்\" என்ற செய்தியை அச்சிடும், அதாவது \"டி.எல்ரோ ஓலே\". இருப்பினும், இரண்டாவது படி" +", `Step_b`, ** ஒரு எழுத்துப்பிழை ** உள்ளது, அங்கு` ரெவ்` கட்டளையை இயக்குவதற்கு பதிலா" +"க, அது தோல்வியுற்ற `ரெவ்.வி` ஐ இயக்க முயற்சிக்கிறது." + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +msgid "`troubleshooting-wf1.cwl`" +msgstr "`சரிசெய்தல்-wf1.cwl`" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" +"இந்த பணிப்பாய்வுகளை `/tmp/cachedir/` உடன் `--cachedir` மதிப்பு (` cwltool` இது " +"ஏற்கனவே இல்லையென்றால் உங்களுக்காக கோப்பகத்தை உருவாக்கும்):" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" +"`STEP_B` இல்லாத` ரெவ்.வி` கட்டளையை இயக்கத் தவறியதால் பணிப்பாய்வு `நிரந்தர வால்` நிலையில்" +" உள்ளது. `STEP_A` வெற்றிகரமாக செயல்படுத்தப்பட்டது மற்றும் அதன் வெளியீடு உங்கள்` கேசெடிர்` " +"இடத்தில் தற்காலிகமாக சேமிக்கப்பட்டுள்ளது. உருவாக்கப்பட்ட இடைநிலை கோப்புகளை நீங்கள் ஆய்வு " +"செய்யலாம்:" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" +"ஒவ்வொரு பணிப்பாய்வு படி ஒரு தனித்துவமான ஐடியைப் பெற்றுள்ளது (ஒரு ஆச் போல தோற்றமளிக்கும் " +"நீண்ட மதிப்பு). `$ {HASH} .ச்டேட்டச்` கோப்புகள் பணிப்பாய்வுகளால் செயல்படுத்தப்படும் ஒவ்வொரு " +"அடியின் நிலையையும் காண்பிக்கும். `STEP_A` வெளியீட்டு கோப்பு` stdout.txt` மேலே உள்ள " +"கட்டளையின் வெளியீட்டில் தெரியும்." + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" +"இப்போது எழுத்துப்பிழையை சரிசெய்யவும், எனவே `step_b` செயல்படுத்துகிறது` rev` (அதாவது " +"`revv` ஆல்` rev` ஆல் `step_b`). எழுத்துப்பிழையை சரிசெய்த பிறகு, முந்தைய நேரத்தின் அதே" +" வாதங்களுடன் `cwltool` ஐ இயக்கும்போது, இப்போது` cwltool` வெளியீட்டில் `Step_a` க்கான " +"முன்-தற்காலிக வெளியீடுகள் பற்றிய தகவல்கள் உள்ளன, மேலும்` step_b`. `STEP_B` இன் நிலை " +"இப்போது வெற்றிபெறுகிறது என்பதையும் நினைவில் கொள்க." + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" +"இந்த எடுத்துக்காட்டில், பணிப்பாய்வு படி `STEP_A` இது தற்காலிக சேமிப்பு செய்யப்பட்டதால் " +"மீண்டும் மதிப்பீடு செய்யப்படவில்லை, மேலும் அதன் சாவுஒறுப்பு அல்லது வெளியீட்டில் எந்த மாற்றமும் " +"இல்லை. மேலும், நாங்கள் இயங்கக்கூடிய பெயரை சரிசெய்த பிறகு `Step_b` ஐ மறு மதிப்பீடு செய்" +"ய வேண்டியிருந்தபோது` cwltool` அடையாளம் காண முடிந்தது. இந்த நுட்பம் உங்கள் சி.டபிள்யூ.எல்" +" ஆவணங்களை சரிசெய்ய பயனுள்ளதாக இருக்கும், மேலும் `cwltool` ஐ தேவையில்லாமல் மறு மதிப்பீடு" +" செய்வதைத் தடுப்பதற்கான ஒரு வழியாகும்." + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "கொள்கலன்களைப் பயன்படுத்துதல்" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "டோக்கருக்குள் இயங்கும் கருவிகள்" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" +"[டோக்கர்][docker] கொள்கலன்கள் மென்பொருள் நிறுவலை எளிதாக்குகின்றன, மென்பொருள் மற்றும் அதன் " +"சார்புகளுக்கு முழுமையான அறியப்பட்ட-நல்ல இயக்க நேரத்தை வழங்குவதன் மூலம். இருப்பினும், " +"கொள்கலன்கள் புரவலன் அமைப்பிலிருந்து வேண்டுமென்றே தனிமைப்படுத்தப்படுகின்றன, எனவே ஒரு " +"கப்பல்துறை கொள்கலனுக்குள் ஒரு கருவியை இயக்குவதற்கு கொள்கலனுக்குள் உள்ளீட்டுக் கோப்புகள் " +"கிடைப்பதை உறுதிசெய்யக் கூடுதல் வேலை உள்ளது மற்றும் வெளியீட்டு கோப்புகளைக் கொள்கலனிலிருந்து" +" மீட்டெடுக்க முடியும். ஒரு சி.டபிள்யூ.எல் ரன்னர் இந்த வேலையைத் தானாகவே செய்ய முடியும், " +"இது உங்கள் மென்பொருள் நிர்வாகத்தை எளிமைப்படுத்த டோக்கரைப் பயன்படுத்த அனுமதிக்கிறது, அதே " +"நேரத்தில் கப்பல்துறை கொள்கலன்களைத் தொடங்குவதற்கும் நிர்வகிப்பதற்கும் சிக்கலைத் தவிர்க்கிறது." + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" +"சி.டபிள்யூ.எல் ரன்னரின் பொறுப்புகளில் ஒன்று, உள்ளீட்டு கோப்புகளின் பாதைகளை கொள்கலனுக்குள் " +"தோன்றும் இடத்தை பிரதிபலிக்கும் வகையில் சரிசெய்வது." + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" +"இந்த எடுத்துக்காட்டு ஒரு கப்பல்துறை கொள்கலனுக்குள் ஒரு எளிய Node.js ச்கிரிப்டை " +"இயக்குகிறது, பின்னர் அது \"அலோ வேர்ல்ட்\" ஐ நிலையான வெளியீட்டிற்கு அச்சிடும்." + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +msgid "`docker.cwl`" +msgstr "`Docker.cwl`" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +msgid "`docker-job.yml`" +msgstr "`docker-job.yml`" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" +"இதை இயக்குவதற்கு முன், அதை உடைத்து சில பிட்கள் என்ன செய்கின்றன என்பதைப் பார்ப்போம். இவற்றில் " +"பெரும்பாலானவை முந்தைய பிரிவுகளில் விளக்கப்பட்டுள்ளன, உண்மையில் புதிய ஒரே பகுதி `டோக்கர் " +"ரெக்கமென்ட்` பிரிவு." + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" +"`பேச் கமாண்ட்: நோட்` சி.டபிள்யூ.எல். ஐ சாவாச்கிரிப்ட் கோப்புகளுக்கான முனைய JS இயக்க " +"நேரத்தைப் பயன்படுத்தி இந்த கட்டளையை இயக்குவோம் என்று கூறுகிறது. நாம் விரும்பும் கொள்கலனை " +"எவ்வாறு கண்டுபிடிப்பது என்பதற்கான சில `குறிப்புகளை 'குறிப்பிட வேண்டும். இந்த விசயத்தில், " +"கப்பல்துறை கொள்கலனுக்கான எங்கள் தேவைகளை `டோக்கர் ரெக்குவிரெமென்ட்ச்` இல் பட்டியலிடுகிறோம். " +"`டோக்கர்புல்:` அளவுரு நீங்கள் ஒரு `டோக்கர் புல்` கட்டளைக்கு அனுப்பும் அதே மதிப்பை எடுக்கும். " +"அதாவது, கொள்கலன் படத்தின் பெயர் (நீங்கள் குறிச்சொல்லைக் கூட குறிப்பிடலாம், இது இனப்பெருக்க " +"ஆராய்ச்சிக்கு கொள்கலன்களைப் பயன்படுத்தும் போது சிறந்த நடைமுறைகளுக்கு நல்ல யோசனையாகும்). இந்" +"த விசயத்தில் `முனை: ச்லிம்` என்ற கொள்கலனைப் பயன்படுத்தினோம்." + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" +"\"Hello.js\" என்ற பெயரில் ஒரு சாவாச்கிரிப்ட் கோப்பை உருவாக்கி, கட்டளை வரியில் கருவி " +"விளக்கத்தையும் உள்ளீட்டு பொருளையும் வழங்கும் `cwltool` ஐ அழைக்கவும்:" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +msgid "`hello.js`" +msgstr "`அலோ.சேச்`" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" +"ச்கிரிப்டை இயக்க சி.டபிள்யூ.எல் ரன்னர் ஒரு கப்பல்துறை கட்டளை வரியை உருவாக்கியுள்ளது " +"என்பதைக் கவனியுங்கள்." + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" +"இந்த எடுத்துக்காட்டில், `அலோ.செச்` ச்கிரிப்டுக்கான பாதை கொள்கலனுக்கு வெளியே`/ஓம்/மீ/சி." +"டபிள்யூ.எல்/பயனர்_சியூட்/அலோ.சே.எச். , `முனை` கட்டளையின் அழைப்பில் பிரதிபலிக்கிறது." + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "பணிப்பாய்வு" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" +"பணிப்பாய்வு என்பது ஒரு சி.டபிள்யூ.எல் செயலாக்க அலகு ஆகும், இது கட்டளை-வரி கருவிகள், " +"வெளிப்பாடு கருவிகள் அல்லது பணிப்பாய்வுகளை (துணை வேலை பாய்ச்சல்கள்) படிகளாக " +"செயல்படுத்துகிறது. இது CWL ஆவணத்தில் `உள்ளீடுகள்`,` வெளியீடுகள்` மற்றும் `படிகள்` " +"வரையறுக்கப்பட வேண்டும்." + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "சி.டபிள்யூ.எல் பணிப்பாய்வு." + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" +"சி.டபிள்யூ.எல் ஆவணம் `எக்கோ-பெர்பெச்.க்விஎல்` கட்டளை-வரி கருவியை இயக்கும் ஒரு பணிப்பாய்வை " +"வரையறுக்கிறது, மேலும் முந்தைய எடுத்துக்காட்டுகளில் காட்டப்பட்ட வெளிப்பாடு கருவி." + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +msgid "`echo-uppercase.cwl`" +msgstr "`Echo-wpercase.cwl`" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" +"ஒரு கட்டளை-வரி கருவி அல்லது வெளிப்பாடு கருவி பணிப்பாய்வு போன்ற அதே CWL ஆவணத்தில் " +"நேரடியாக எழுதப்படலாம். எடுத்துக்காட்டாக, `echo-wirpercase.cwl` பணிப்பாய்வுகளை ஒற்றை " +"கோப்பாக மீண்டும் எழுதலாம்:" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +msgid "`echo-uppercase-single-file.cwl`" +msgstr "`echo-uppercase-single-file.cwl`" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" +"தனித்தனி கோப்புகளை வைத்திருப்பது மட்டுப்படுத்தல் மற்றும் குறியீடு அமைப்புக்கு உதவுகிறது. " +"ஆனால் அபிவிருத்திக்காக ஒரே கோப்பில் எல்லாவற்றையும் எழுதுவது உதவியாக இருக்கும். இந்த பயனர்" +" வழிகாட்டியின் பிற பிரிவுகளில் மேலும் விவாதிக்கப்பட்ட பல கோப்புகளை ஒரே கோப்பாக (எ.கா. " +"`CWLTOOL - -PACK`) இணைக்க வேறு வழிகள் உள்ளன." + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" +"ஒரு துணை வேலை பாய்ச்சல்களுக்கு நீங்கள் `subworkflowfeatureerequirement` தேவையை இயக்க " +"வேண்டும். இந்த பயனர் வழிகாட்டியின் மற்றொரு பிரிவில் இது இன்னும் விரிவாக உள்ளது." + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "பணிப்பாய்வு எழுதுதல்" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" +"இந்த பணிப்பாய்வு ஒரு தார் கோப்பிலிருந்து சாவா மூல கோப்பைப் பிரித்தெடுத்து பின்னர் " +"தொகுக்கிறது." + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +msgid "`1st-workflow.cwl`" +msgstr "`1 வது-வொர்க்ஃப்ளோ.சிடபிள்யூஎல்`" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +msgid "Visualization of 1st-workflow.cwl" +msgstr "1 வது-வொர்க்ஃப்ளோ.ச்விஎல் காட்சிப்படுத்தல்" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" +"[![1st-workflow.cwl காட்சிப்படுத்தல்](https://view.commonwl.org/graph/png/" +"github.com/common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/" +"common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" +"ஒரு ரன்னின் உள்ளீட்டை விவரிக்க ஒரு தனி கோப்பில் ஒரு YAML அல்லது சாதொபொகு பொருளைப் " +"பயன்படுத்தவும்:" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +msgid "`1st-workflow-job.yml`" +msgstr "`1 வது-வொர்க்ஃப்ளோ-JOB.YML`" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" +"அடுத்து, ஒரு மாதிரி சாவா கோப்பை உருவாக்கி, கட்டளை-வரி கருவியுடன் பயன்படுத்த தார் " +"கோப்பில் சேர்க்கவும்." + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "இங்கே என்ன நடக்கிறது? அதை உடைப்போம்:" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" +"`Cwlversion` புலம் ஆவணத்தால் பயன்படுத்தப்படும் CWL விவரக்குறிப்பின் பதிப்பைக் குறிக்கிறது" +". `வகுப்பு` புலம் இந்த ஆவணம் ஒரு பணிப்பாய்வுகளை விவரிக்கிறது என்பதைக் குறிக்கிறது." + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" +"`உள்ளீடுகள்` பிரிவு பணிப்பாய்வுகளின் உள்ளீடுகளை விவரிக்கிறது. ஒவ்வொரு அளவுருவும் ஒரு " +"அடையாளங்காட்டி மற்றும் தரவு வகையைக் கொண்ட உள்ளீட்டு அளவுருக்களின் பட்டியல் இது. இந்த " +"அளவுருக்களை குறிப்பிட்ட பணிப்பாய்வு படிகளுக்கான உள்ளீட்டிற்கான ஆதாரங்களாகப் பயன்படுத்தலாம்." + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" +"`வெளியீடுகள்` பிரிவு பணிப்பாய்வுகளின் வெளியீடுகளை விவரிக்கிறது. ஒவ்வொரு அளவுருவும் ஒரு" +" அடையாளங்காட்டி மற்றும் தரவு வகையைக் கொண்ட வெளியீட்டு அளவுருக்களின் பட்டியல் இது. " +"`OutputSource`` தொகுக்கப்பட்ட` படியின் `கிளாச்ஃபைல்` ஐ பணிப்பாய்வு வெளியீட்டு " +"அளவுருவுக்கு` தொகுக்கப்பட்ட_ கிளாச்` உடன் இணைக்கிறது." + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" +"`படிகள்` பிரிவு பணிப்பாய்வுகளின் உண்மையான படிகளை விவரிக்கிறது. இந்த எடுத்துக்காட்டில், " +"முதல் படி ஒரு தார் கோப்பிலிருந்து ஒரு கோப்பைப் பிரித்தெடுக்கிறது, இரண்டாவது படி சாவா " +"கம்பைலரைப் பயன்படுத்தி முதல் படியிலிருந்து கோப்பை தொகுக்கிறது. பணிப்பாய்வு படிகள் அவை " +"பட்டியலிடப்பட்ட வரிசையில் அவசியமில்லை, அதற்கு பதிலாக ஆர்டர் படிகளுக்கு இடையிலான " +"சார்புகளால் தீர்மானிக்கப்படுகிறது (`மூலத்தை` பயன்படுத்தி). கூடுதலாக, ஒருவருக்கொருவர் " +"சார்ந்து இல்லாத பணிப்பாய்வு படிகள் இணையாக இயங்கக்கூடும்." + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" +"முதல் படி, `untar` `tar-param.cwl` ஐ இயக்குகிறது (முன்னர் [அளவுரு குறிப்புகள்]" +"(parameter-references.md) இல் விவரிக்கப்பட்டுள்ளது). இந்த கருவி இரண்டு உள்ளீட்டு " +"அளவுருக்களைக் கொண்டுள்ளது, `tarfile` மற்றும்`extractfile` மற்றும் ஒரு வெளியீட்டு அளவுரு" +" `extracted_file`." + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" +"பணிப்பாய்வு படியின் `` in`` பிரிவு இந்த இரண்டு உள்ளீட்டு அளவுருக்களையும் பணிப்பாய்வு " +"உள்ளீடுகளுடன் இணைக்கிறது, `tarball` மற்றும்`name_of_file_to_extract` `source` " +"பயன்படுத்துகிறது. இதன் பொருள், பணிப்பாய்வு படி செயல்படுத்தப்படும்போது, `tarball` " +"மற்றும்`name_of_file_to_extract` ஆகியவற்றுக்கு ஒதுக்கப்பட்ட மதிப்புகள் கருவியை இயக்க " +"`tarfile` மற்றும்`extractfile` ஆகியவற்றிற்கு பயன்படுத்தப்படும்." + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" +"பணிப்பாய்வு படியின் `அவுட்` பிரிவு கருவியிலிருந்து எதிர்பார்க்கப்படும் வெளியீட்டு " +"அளவுருக்களை பட்டியலிடுகிறது." + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" +"இரண்டாவது படி `compile `(தொகுத்தல்) `untar/extracted_file` ஐப் பயன்படுத்தி உள்ளீட்டு " +"அளவுருவை `src` இன் வெளியீட்டு அளவுருவுடன் இணைப்பதன் மூலம் முதல் படியின் முடிவுகளைப் " +"பொறுத்தது. இது `arguments.cwl` ஐ இயக்குகிறது (முன்னர் " +"[கூடுதல் வாதங்கள் மற்றும் அளவுருக்கள்](additional-arguments-and-parameters.md) இல் " +"விவரிக்கப்பட்டுள்ளது). இந்த படி `classfile` இன் வெளியீடு மேலே விவரிக்கப்பட்ட " +"பணிப்பாய்வுக்கான `outputs` பிரிவுடன் இணைக்கப்பட்டுள்ளது." + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "உள்ளமைக்கப்பட்ட பணிப்பாய்வு" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" +"பணிப்பாய்வு என்பது ஒரு பெரிய செயல்பாடுகளைச் செய்ய பல கருவிகளை இணைப்பதற்கான வழிகள். ஒரு" +" பணிப்பாய்வு ஒரு கருவியாக இருப்பதையும் நாம் நினைக்கலாம்; ஒரு சி.டபிள்யூ.எல் பணிப்பாய்வு " +"மற்றொரு சி.டபிள்யூ.எல் பணிப்பாய்வுகளின் ஒரு படியாகப் பயன்படுத்தப்படலாம், பணிப்பாய்வு " +"இயந்திரம் `சப்ச்வொர்க்ஃப்ளோஃபீட்டர்ரெக்யூமென்ட்` ஆதரித்தால்:" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" +"எங்கள் `1 வது-வொர்க்ஃப்ளோ.க்விஎல்` ஐ உள்ளமைக்கப்பட்ட பணிப்பாய்வுகளாகப் பயன்படுத்தும் ஒரு " +"எடுத்துக்காட்டு பணிப்பாய்வு இங்கே:" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +msgid "`nestedworkflows.cwl`" +msgstr "`NestestWorkflows.cwl`" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" +"இந்த இரண்டு-படி பணிப்பாய்வு `கிரியேட்-டார்` படியுடன் தொடங்குகிறது, இது ஆரஞ்சில்` " +"தொகுத்தல்` படியுடன் இணைக்கப்பட்டுள்ளது; `தொகுத்தல்` என்பது மற்றொரு பணிப்பாய்வு, " +"வலதுபுறத்தில் வரைபடமாக்கப்படுகிறது. ஊதா நிறத்தில் `\" அலோ.சாவா \"` " +"`Name_of_file_to_extract` என வழங்கப்படுவதைக் காண்கிறோம்." + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" +"\"nestedworkflows.cwl \"1st-workflow.cwl" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" +"ஒரு சி.டபிள்யூ.எல் `பணிப்பாய்வு` ஒரு` கட்டமாக 'ஒரு `கட்டமாக' போலவே, அதன் சி.டபிள்யூ." +"எல் கோப்பு` ரன்` உடன் சேர்க்கப்பட்டுள்ளது. பணிப்பாய்வு உள்ளீடுகள் (`தர்பால்` மற்றும்` " +"name_of_file_to_extract`) மற்றும் வெளியீடுகள் (`தொகுக்கப்பட்ட_ கிளாச்`) பின்னர் " +"படிநிலையின் உள்ளீடு/வெளியீடுகளாக மாறலாம்." + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" +"எங்கள் `1 வது-வொர்க்ஃப்ளோ.க்விஎல்` பணிப்பாய்வு உள்ளீடுகளுடன் அளவுருவாக்கப்பட்டது, எனவே அதை " +"இயக்கும் போது தார் கோப்பு மற்றும்`*.சாவா` கோப்பு பெயர் ஆகியவற்றைக் குறிக்க வேலை கோப்பை " +"வழங்க வேண்டியிருந்தது. இது பொதுவாக சிறந்த நடைமுறையாகும், ஏனெனில் இது பல பெற்றோர் " +"பணிப்பாய்வுகளில் அல்லது ஒரே பணிப்பாய்வுகளுக்குள் பல படிகளில் கூட மீண்டும் பயன்படுத்தப்படலாம்." + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" +"இங்கே நாம் `இயல்புநிலை:` ஆர்ட்-குறியீடு `\" அலோ.சாவா \"` `பெயர்_எஃப்_ஃபைல்_எக்டேக்சன்` " +"உள்ளீட்டைப் பயன்படுத்துகிறோம், இருப்பினும் எங்கள் பணிப்பாய்வுக்கு` தர்பால்` இல் ஒரு தார் கோப்பு " +"தேவைப்படுகிறது, அதை `படைப்பு-தார் படிநிலையில் நாங்கள் ஆயத்தம் செய்வோம் . இந்த கட்டத்தில், `" +"1 வது-வொர்க்ஃப்ளோ.ச்விஎல்` ஐ மறுசீரமைப்பது நல்ல யோசனையாகும், மேலும் குறிப்பிட்ட " +"உள்ளீடு/வெளியீட்டு பெயர்களைக் கொண்டிருப்பது, ஏனெனில் அவை ஒரு கருவியாக அதன் பயன்பாட்டில் " +"தோன்றும்." + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" +"குறைவான பொதுவான அணுகுமுறையைச் செய்யவும், வேலை கோப்பில் வெளிப்புற சார்புகளைத் " +"தவிர்க்கவும் முடியும். எனவே இந்த பணிப்பாய்வுகளில், முன்னர் குறிப்பிடப்பட்ட `தொடக்கப்பொர்க் " +"டிஐஆர்ரெக்விரெமென்ட்` தேவையைப் பயன்படுத்தி, ஒரு தார் கோப்பில் சேர்ப்பதற்கு முன், கடின " +"குறியிடப்பட்ட` அலோ.சாவா` கோப்பை உருவாக்கலாம்." + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" +"இந்த விசயத்தில் எங்கள் படி அளவுருவாக்கப்படுவதை விட `அலோ.சாவா` என்று கருதலாம், எனவே " +"ஆர்ட்கோட் செய்யப்பட்ட மதிப்புகள்` அலோ.டார்` மற்றும் `அலோ.சாவா` ஆகியவற்றை ஒரு` பேச்கோமாண்ட்` " +"இல் பயன்படுத்தலாம், இதன் விளைவாக `வெளியீடுகள்`:" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" +"`தார் -கிரேட்` கருவியை ஒரு தனி கோப்பில் நாங்கள் பிரிக்கவில்லை என்பதை நீங்கள் கவனித்தீர்களா, " +"மாறாக சி.டபிள்யூ.எல் பணிப்பாய்வு கோப்பில் அதை உட்பொதித்தீர்களா? இது பொதுவாக சிறந்த " +"நடைமுறை அல்ல, ஏனெனில் கருவியை மீண்டும் பயன்படுத்த முடியாது. இந்த விசயத்தில் அதைச் " +"செய்வதற்கான காரணம் என்னவென்றால், கட்டளை வரி கோப்பு பெயர்களால் கடின குறியிடப்பட்டிருப்பதால்" +", இந்த பணிப்பாய்வுக்குள் மட்டுமே அர்த்தமுள்ளதாக இருக்கும்." + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" +"இந்த எடுத்துக்காட்டில் நாங்கள் ஒரு தார் கோப்பை வெளியே தயாரிக்க வேண்டியிருந்தது, ஆனால் எங்கள்" +" உள் பணிப்பாய்வு அதை உள்ளீட்டாக எடுக்க வடிவமைக்கப்பட்டதால் மட்டுமே. உட்புற பணிப்பாய்வுகளின் " +"சிறந்த மறுசீரமைப்பு என்பது சாவா கோப்புகளின் பட்டியலை தொகுக்க வேண்டும், இது மற்ற " +"பணிப்பாய்வுகளில் ஒரு கருவி படியாக அதன் பயன்பாட்டை எளிதாக்கும்." + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" +"உயர் மட்ட செயல்பாட்டு மற்றும் மறுபயன்பாட்டு பணிப்பாய்வு அலகுகளை உருவாக்குவதற்கு " +"உள்ளமைக்கப்பட்ட பணிப்பாய்வுகள் ஒரு சக்திவாய்ந்த அம்சமாக இருக்கலாம் - ஆனால் ஒரு சி.டபிள்யூ.எல்" +" கருவி விளக்கத்தை உருவாக்குவதைப் போலவே, பல பணிப்பாய்வுகளில் அதன் பயன்பாட்டினை மேம்படுத்த " +"கவனமாக இருக்க வேண்டும்." + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "சிதறல் படிகள்" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" +"இப்போது பணிப்பாய்வுகளை எழுதுவது எப்படி என்று எங்களுக்குத் தெரியும், " +"`சிதறல்ஃபீட்டர்ரெக்யூமென்ட்` ஐப் பயன்படுத்தத் தொடங்கலாம். உள்ளீடுகளின் பட்டியலில் ஒரு கருவி " +"அல்லது பணிப்பாய்வுகளை பல முறை இயக்க விரும்புகிறீர்கள் என்று இந்த நற்பொருத்தம் ரன்னரிடம் " +"கூறுகிறது. பணிப்பாய்வு பின்னர் உள்ளீட்டை (களை) ஒரு வரிசையாக எடுத்து, வரிசையின் ஒவ்வொரு " +"உறுப்பிலும் குறிப்பிட்ட படி (களை) ஒரு உள்ளீடு போல இயக்கும். பல கட்டளைகளை அல்லது உள்ளீட்டு " +"YAML கோப்புகளை உருவாக்காமல் பல உள்ளீடுகளில் ஒரே பணிப்பாய்வுகளை இயக்க இது உங்களை " +"அனுமதிக்கிறது." + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" +"ஒரு புதிய பயனர் சிதறலைப் பயன்படுத்த விரும்புவதற்கான பொதுவான காரணம் வெவ்வேறு " +"மாதிரிகளில் ஒரே பகுப்பாய்வைச் செய்வதாகும். எங்கள் முதல் உதாரணத்தை (`hello_world.cwl`) " +"அழைக்கும் எளிய பணிப்பாய்வுகளுடன் ஆரம்பிக்கலாம் மற்றும் பணிப்பாய்வுக்கு உள்ளீடாக சரங்களின் " +"வரிசையை எடுத்துக்கொள்வோம்:" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +msgid "`scatter-workflow.cwl`" +msgstr "`சிதறல்-வொர்க்ஃப்ளோ.சிடபிள்யூஎல்`" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" +"`SPATTERFEATUREREQUIREMENT` உட்பட` தேவைகள்` பிரிவைத் தவிர, இங்கே என்ன நடக்கிறது?" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" +"முதலாவதாக, இங்குள்ள முக்கிய பணிப்பாய்வு நிலை உள்ளீட்டிற்கு சரங்களின் வரிசை தேவை என்பதைக் " +"கவனியுங்கள்." + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" +"`சிதறல்` எனப்படும்` எதிரொலி` படியில் ஒரு புதிய புலத்தை இங்கே சேர்த்துள்ளோம். இந்த " +"குறிப்பிட்ட படிக்கு இந்த உள்ளீட்டை சிதறடிக்க விரும்புகிறோம் என்று இந்த புலம் ரன்னரிடம் " +"கூறுகிறது. சிதறிக்குப் பிறகு பட்டியலிடப்பட்ட உள்ளீட்டுப் பெயர் படிநிலையின் உள்ளீட்டில் " +"ஒன்றாகும், பணிப்பாய்வு நிலை உள்ளீடு அல்ல என்பதை நினைவில் கொள்க." + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" +"எங்கள் முதல் சிதறலுக்கு, அது அவ்வளவு எளிது! எங்கள் கருவி எந்த வெளியீடுகளையும் " +"சேகரிக்கவில்லை என்பதால், நாங்கள் இன்னும் `வெளியீடுகளைப் பயன்படுத்துகிறோம்: []` எங்கள் " +"பணிப்பாய்வுகளில், ஆனால் உங்கள் பணிப்பாய்வுகளின் இறுதி வெளியீடு இப்போது சேகரிக்க பல " +"வெளியீடுகள் இருக்கும் என்று நீங்கள் எதிர்பார்க்கிறீர்கள் என்றால், அதை ஒரு வரிசைக்கு புதுப்பிக்க " +"மறக்காதீர்கள் தட்டச்சு செய்க!" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "பின்வரும் உள்ளீட்டு கோப்பைப் பயன்படுத்துதல்:" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +msgid "`scatter-job.yml`" +msgstr "`சிதறல்-job.yml`" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" +"நினைவூட்டலாக, [`hello_world.cwl`](../introduction/quick-start.md) என்பது ஒரு " +"செய்தியில் `echo` என்ற கட்டளையை மட்டுமே அழைக்கிறது. கட்டளை வரியில் `cwltool scatter-" +"workflow.cwl scatter-job.yml` ஐ செயல்படுத்தினால்:" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" +"எங்கள் `Message_Array` இன் ஒவ்வொரு உறுப்பிலும் பணிப்பாய்வு அழைப்புகள் பல முறை " +"எதிரொலிப்பதை நீங்கள் காணலாம். சரி, ஒரு பணிப்பாய்வுகளில் இரண்டு படிகளில் சிதற விரும்பினால்" +" எப்படி?" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" +"மேலே உள்ளதைப் போல ஒரு எளிய எதிரொலியைச் செய்வோம், ஆனால் `வெளியீடுகளுக்கு பதிலாக " +"பின்வரும் வரிகளைச் சேர்ப்பதன் மூலம்` stdout` ஐப் பிடிப்போம்: [] `" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +msgid "`hello_world_to_stdout.cwl`" +msgstr "`அலோ_போர்ட்_டோ_ச்டூட்.ச்விஎல்`" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" +"ஒவ்வொரு கோப்பிலும் உள்ள எழுத்துக்களை எண்ண `wc` ஐப் பயன்படுத்தும் இரண்டாவது படியைச் " +"சேர்க்கவும். கீழே உள்ள கருவியைக் காண்க:" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" +"இப்போது, சிதறலை எவ்வாறு இணைப்பது? சிதறல் புலம் ஒவ்வொரு அடியிலும் உள்ளது என்பதை நினைவில்" +" கொள்ளுங்கள்:" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +msgid "`scatter-two-steps.cwl`" +msgstr "`சிதறல்-இரண்டு-படி. cwl`" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" +"இங்கே நாம் ஒவ்வொரு அடியிலும் சிதறல் புலத்தை வைத்திருக்கிறோம். இந்த எடுத்துக்காட்டு விரைவா" +"க இயங்குவதால் இது நல்லது, ஆனால் நீங்கள் மிகவும் சிக்கலான பணிப்பாய்வுக்காக பல மாதிரிகளை " +"இயக்குகிறீர்கள் என்றால், நீங்கள் ஒரு மாற்றீட்டைக் கருத்தில் கொள்ள விரும்பலாம். இங்கே நாம் ஒவ்வொரு " +"அடியிலும் சுயாதீனமாக சிதறலை இயக்குகிறோம், ஆனால் இரண்டாவது படி அனைத்து மொழிகளையும் " +"நிறைவு செய்யும் முதல் படியைப் பொறுத்தது அல்ல என்பதால், நாங்கள் சிதறல் செயல்பாட்டை " +"திறமையாகப் பயன்படுத்தவில்லை. இரண்டாவது படி ஒரு வரிசையை முதல் படியிலிருந்து உள்ளீடாக " +"எதிர்பார்க்கிறது, எனவே ஒரு படி ஒன்றில் உள்ள அனைத்தும் எதையும் செய்வதற்கு முன் அது " +"முடிவடையும் வரை காத்திருக்கும். `எக்கோ அலோ வேர்ல்ட்!` செய்ய 1 மணித்துளி ஆகும் என்று " +"பாசாங்கு செய்யுங்கள், `wc -c` வெளியீட்டில் 3 நிமிடங்கள் ஆகும், மேலும்` எதிரொலி ஆலோ வெல்ட்" +"! `செய்ய 5 நிமிடங்கள் ஆகும், மேலும் அந்த வெளியீட்டில்` wc` 3 நிமிடங்கள் ஆகும். `எக்கோ அலோ " +"வேர்ல்ட்!` 4 நிமிடங்களில் முடிக்க முடியும் என்றாலும், அது உண்மையில் 8 நிமிடங்களில் " +"முடிவடையும், ஏனெனில் முதல் படி `எக்கோ ஆலோ வெல்ட்!` இல் காத்திருக்க வேண்டும். இது எவ்வாறு " +"சரியாக அளவிடப்படாது என்பதை நீங்கள் காணலாம்." + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" +"சரி, எனவே மற்ற மாதிரிகளிலிருந்து சுயாதீனமாக தொடரக்கூடிய படிகளில் நாம் எவ்வாறு " +"சிதறடிப்பது? [உள்ளமைக்கப்பட்ட பணிப்பாய்வுகளிலிருந்து](#nested-workflows) நினைவில் " +"கொள்ளுங்கள், ஒரு முழு பணிப்பாய்வுகளையும் மற்றொரு பணிப்பாய்வுகளில் ஒரு படி செய்ய முடியும் " +"என்பதை நினைவில் கொள்க! எங்கள் இரண்டு-படி பணிப்பாய்வுகளை ஒற்றை படி அடைப்பகுதிக்கு " +"மாற்றவும்:" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +msgid "`scatter-nested-workflow.cwl`" +msgstr "`சிதறல்-நெச்டட்-வொர்க்ஃப்ளோ.ச்விஎல்`" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" +"இப்போது சிதறல் ஒரு படியில் செயல்படுகிறது, ஆனால் அந்த படி இரண்டு படிகளைக் கொண்டுள்ளது, " +"எனவே ஒவ்வொரு அடியும் இணையாக செய்யப்படுகிறது." + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "நிபந்தனை பணிப்பாய்வு" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" +"இந்த பணிப்பாய்வு ஒரு நிபந்தனை படி உள்ளது மற்றும் உள்ளீட்டின் அடிப்படையில் " +"செயல்படுத்தப்படுகிறது. நிரலின் தொடக்கத்தில் அல்லது முந்தைய படிகளால் கொடுக்கப்பட்ட உள்ளீட்டு " +"அளவுருக்களின் அடிப்படையில் கூடுதல் படிகளைத் தவிர்க்க இது பணிப்பாய்வுகளை அனுமதிக்கிறது." + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +msgid "`conditional-workflow.cwl`" +msgstr "`நிபந்தனை-வொர்க்ஃப்ளோ.சிடபிள்யூஎல்`" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" +"நீங்கள் கவனிக்கும் முதல் சேதி என்னவென்றால், இந்த பணிப்பாய்வு பதிப்பு 1.2 அல்லது அதற்கு மேற்பட்" +"ட சி.டபிள்யூ.எல் தரத்திற்கு மட்டுமே இணக்கமானது." + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" +"பணிப்பாய்வுகளின் முதல் படி (Step1) இரண்டு உள்ளீட்டு பண்புகளைக் கொண்டுள்ளது மற்றும் " +"நிபந்தனைகள் நிறைவு செய்யப்படும்போது FOO.CWL ஐ இயக்கும். புதிய சொத்து `எப்போது` நிபந்தனை" +" சரிபார்ப்பு நடைபெறுகிறது. இந்த வழக்கில் பணிப்பாய்வுகளிலிருந்து `in1` ஒரு மதிப்பு` <1`" +" இந்த படி செயல்படுத்தப்படும்." + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" +"பின்வரும் கட்டளையைப் பயன்படுத்தி `cwltool cond-wf-003.1.cwl --val 0` மதிப்பு முதல் " +"நிபந்தனை படியைக் கடந்து, எனவே செயல்படுத்தப்படும் மற்றும்` செய்தி [படி 1] தொடக்க` மூலம் " +"பதிவில் காட்டப்படுகிறது, அதேசமயம் இரண்டாவது படி `தகவல் [STEP STEP2] மூலம் " +"சுட்டிக்காட்டப்பட்டபடி தவிர்க்கப்படுகிறது." + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" +"3 இன் மதிப்பு வழங்கப்படும் போது முதல் நிபந்தனை படி செயல்படுத்தப்படாது, ஆனால் இரண்டாவது " +"படி `cwltool cond-wf-003.1.cwl --val 3`." + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" +"`--Val 2` ஐப் பயன்படுத்தும் போது எந்த நிபந்தனைகளும் நிறைவு செய்யப்படாவிட்டால், பணிப்பாய்வு" +" ஒரு நிரந்தர படத்தை உயர்த்தும்." + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "யாம் வழிகாட்டி" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" +"[YAML][yaml] என்பது ஒரு கோப்பு வடிவமாகும், இது கணினிகள் மற்றும் மனிதர்களால் " +"படிக்கக்கூடியதாக வடிவமைக்கப்பட்டுள்ளது. இந்த வழிகாட்டி CWL விளக்கங்கள் மற்றும் உள்ளீட்டு " +"அளவுருக் கோப்புகளை எழுதும்போது பொருத்தமான YAML இன் அம்சங்களை அறிமுகப்படுத்துகிறது." + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" +"நீங்கள் ஏற்கனவே YAML உடன் வசதியாக இருந்தால் இந்த பகுதியைத் தவிர்க்கலாம்." + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "உள்ளடக்கங்கள்" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "[முக்கிய மதிப்பு சோடிகள்](#key-value-pairs)" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "[கருத்துரைகள்](#comments)" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "[வரைபடங்கள்](#maps)" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "[வரிசைகள்](#arrays)" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "[JSON ச்டைல்](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "முக்கிய மதிப்பு சோடிகள்" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" +"அடிப்படையில், YAML இல் எழுதப்பட்ட ஒரு கோப்பு _கே-மதிப்பு சோடிகளின்_ தொகுப்பைக் " +"கொண்டுள்ளது. ஒவ்வொரு சோடியும் `விசை: மதிப்பு` என எழுதப்பட்டுள்ளன, அங்கு`: `க்குப் பிறகு " +"இடைவெளி தேவைப்படுகிறது. சி.டபிள்யூ.எல் கோப்புகளில் உள்ள முக்கிய பெயர்கள் வைட்ச்பேசைக் " +"கொண்டிருக்கக்கூடாது - [[_camelCase_][camelCase] CWL விவரக்குறிப்பில் சிறப்பு அர்த்தமுள்" +"ள பல சொல் முக்கிய பெயர்களுக்கு பயன்படுத்தப்படுகிறது மற்றும் இல்லையெனில் அடிக்கோடிட்டுக் " +"காட்டப்பட்ட முக்கிய பெயர்கள். உதாரணமாக:" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" +"மேலே உள்ள YAML நான்கு விசைகளை வரையறுக்கிறது - `First_name`,` கடைசி_பெயர்`, " +"`வயது_இயர்கள்`, மற்றும்` வீடு` - அவற்றின் நான்கு அந்தந்த மதிப்புகளுடன். மதிப்புகள் எழுத்து " +"சரங்கள், எண் (முழு எண், மிதக்கும் புள்ளி, அல்லது அறிவியல் பிரதிநிதித்துவம்), பூலியன் " +"(`உண்மை` அல்லது` தவறு`) அல்லது மிகவும் சிக்கலான உள்ளமைக்கப்பட்ட வகைகளாக இருக்கலாம் (கீழே " +"காண்க)." + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" +"மதிப்புகள் மேற்கோள் மதிப்பெண்களில் மூடப்பட்டிருக்கலாம், ஆனால் இது அவை விளக்கப்படும் விதத்தை " +"மாற்றக்கூடும் என்பதை அறிந்து கொள்ளுங்கள். அதாவது `\" 1234 \"` ஒரு எழுத்து சரமாக " +"கருதப்படும், அதே நேரத்தில் `1234` ஒரு முழு எண்ணாக கருதப்படும். இந்த வேறுபாடு " +"முக்கியமானது, எடுத்துக்காட்டாக ஒரு கட்டளைக்கு அளவுருக்களை விவரிக்கும் போது: சி.டபிள்யூ." +"எல் இல் `பேச் கமாண்டின் 'அனைத்து பகுதிகளும் சரங்களாக இருக்க வேண்டும், நீங்கள் ஒரு கட்டளைக்கு " +"ஒரு நிலையான எண் மதிப்பைக் குறிப்பிட விரும்பினால், அந்த எண் மதிப்பை நீங்கள் போர்த்திக் " +"கொள்ளுங்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் மேற்கோள்கள்: `பேச் கமாண்ட்: [எதிரொலி,\" 42 \"" +"]`." + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "கருத்துகள்" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" +"உங்கள் CWL மற்றும் அளவுரு கோப்புகளில் கருத்துகளைச் சேர்க்க `#` பயன்படுத்தலாம். ` #` என்ற " +"வலதுபுறத்தில் உள்ள எந்த எழுத்துக்களும் YAML ஐ விளக்கும் நிரலால் புறக்கணிக்கப்படும். " +"உதாரணமாக:" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" +"கருத்துக்கு முன் வரியில் ஏதேனும் இருந்தால், `#` க்கு முன் குறைந்தது ஒரு இடத்தையாவது சேர்க்" +"க மறக்காதீர்கள்!" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "வரைபடங்கள்" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" +"சி.டபிள்யூ.எல் உடன் ஒரு கருவி அல்லது பணிப்பாய்வுகளை விவரிக்கும் போது, பொதுவாக மிகவும் " +"சிக்கலான, உள்ளமைக்கப்பட்ட பிரதிநிதித்துவங்களை உருவாக்குவது தேவை. _MAPS_ என " +"குறிப்பிடப்படுகிறது, இந்த படிநிலை கட்டமைப்புகள் எந்தவொரு விசையின் மதிப்பாக கூடுதல் " +"விசை-மதிப்பு சோடிகளை வழங்குவதன் மூலம் YAML இல் விவரிக்கப்பட்டுள்ளன. இந்த சோடிகள் (சில " +"நேரங்களில் \"குழந்தைகள்\" என்று குறிப்பிடப்படுகின்றன) அவர்கள் சேர்ந்த விசையின் கீழ் (\"ப" +"ெற்றோர்\") புதிய வரிகளில் எழுதப்பட்டுள்ளன, மேலும் அவை இரண்டு இடங்களுடன் உள்தள்ளப்பட வேண்டும்" +" (⇥TAB எழுத்துக்கள் அனுமதிக்கப்படவில்லை). உதாரணமாக:" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" +"மேலே உள்ள YAML சிக்கலான உள்ளமைக்கப்பட்ட பொருள் விளக்கங்களை ஒப்பீட்டளவில் விரைவாக " +"உருவாக்குவது எப்படி என்பதை விளக்குகிறது. `inputs` வரைபடத்தில்`example_flag` ஒரு " +"ஒற்றை விசையைக் கொண்டுள்ளது, இதில் இரண்டு விசைகள் உள்ளன, `type`(வகை) " +"மற்றும்`inputBinding`(உள்ளீட்டு பைண்டிங்), இந்தக் குழந்தைகளில் ஒருவரான `உள்ளீடு பைண்டிங்` " +"மேலும் இரண்டு முக்கிய மதிப்பு சோடிகளைக் கொண்டுள்ளது (` நிலை` மற்றும் `முன்னொட்டு`). ஒற்றை" +" விசைக்குப் பல மதிப்புகள்/முக்கிய மதிப்பு சோடிகளை வழங்குவது பற்றிய கூடுதல் தகவலுக்குக் " +"கீழே உள்ள [வரிசைகள்](#arrays) பகுதியைக் காண்க. மேலே உள்ள யாம்லுடன் ஒப்பிடுகையில், அது " +"விவரிக்கும் `உள்ளீடுகள்` பொருளின் வரைகலை பிரதிநிதித்துவம் இங்கே." + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "வரிசைகள்" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" +"சில சூழ்நிலைகளில், ஒரு விசைக்கு பல மதிப்புகள் அல்லது பொருள்களை வழங்குவது தேவை. மேலே " +"உள்ள [வரைபடங்கள்](#maps) பிரிவில் நாம் ஏற்கனவே பார்த்தது போல, ஒன்றுக்கு மேற்பட்ட முக்கிய " +"மதிப்பு சோடியை ஒரு விசையில் வரைபடமாக்கலாம். இருப்பினும், ஒவ்வொரு மதிப்புக்கும் ஒரு " +"தனித்துவமான விசையை வழங்காமல் ஒரு விசையின் பல மதிப்புகளை வரையறுக்கவும் முடியும். " +"_Array_ உடன் இதை நாம் அடையலாம், அங்கு ஒவ்வொரு மதிப்பும் அதன் சொந்த வரியில் " +"வரையறுக்கப்பட்டு `-` ஆல் வரையறுக்கப்படுகிறது. உதாரணமாக:" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "வரைபடங்கள் மற்றும் வரிசைகளை இணைக்கும் மிகவும் சிக்கலான எடுத்துக்காட்டு:" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "சாதொபொகு நடை" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" +"YAML [சாவாச்கிரிப்ட் பொருள் குறியீடு (JSON)] [json] ஐ அடிப்படையாகக் கொண்டது. சொந்த " +"சாதொபொகு தொடரியல் பயன்படுத்தி YAML இல் வரைபடங்கள் மற்றும் வரிசைகளை வரையறுக்கலாம். " +"உதாரணமாக:" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "மற்றும்:" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" +"ஒரு புலம் வேண்டுமென்றே காலியாக இருக்கும் (`[]` போன்றவை வெற்று வரிசைக்கு) எங்கே என்பதைக் " +"குறிக்க பூர்வீக சாதொபொகு பயனுள்ளதாக இருக்கும், அதேபோல் மதிப்புகள் ஒரே வரியில் " +"அமைந்திருப்பதற்கு அதிக அர்த்தமுள்ள இடம் (எடுத்துக்காட்டாக, எப்போது செல் கட்டளையில் விருப்பக் " +"கொடிகள் மற்றும் அவற்றின் மதிப்புகளை வழங்குதல்). இருப்பினும், மேலே உள்ள இரண்டாவது " +"எடுத்துக்காட்டு காண்பித்தபடி, இது ஒரு YAML கோப்பின் வாசிப்புத்திறனை கடுமையாக பாதிக்கும்" +", மேலும் அவை குறைவாகவே பயன்படுத்தப்பட வேண்டும்." + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "குறிப்பு" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" +"இந்த வழிகாட்டியை நாங்கள் எழுதியபோது [Y MINES][yaml-y-mins] குறிப்பு எங்களுக்கு " +"மிகவும் உதவியாக இருந்தது, இருப்பினும் இது CWL இல் செல்லுபடியாகாத அம்சங்களையும் " +"உள்ளடக்கியது." + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "பயிற்சிகள்" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" +"இது சி.டபிள்யூ.எல் சமூகத்தால் வழங்கப்பட்ட பயிற்சிகளின் பட்டியல். பட்டியலில் மற்றொரு " +"டுடோரியலைச் சேர்க்க விரும்பினால் பட்டியலில் உள்ள `திருத்து` இணைப்பைப் பயன்படுத்தவும்." + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "தொடக்க பயிற்சிகள்" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" +"[Introduction பெறுநர் Workflows with Common Workflow மொழி: க்கு " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "மேம்பட்ட பயிற்சிகள்" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "[CWL இல் தட்டச்சுஉரை](https://github.com/umccr/cwl-ica/wiki/TypeScript)" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "பயோ இன்ஃபர்மேடிக்ச் பயிற்சிகள்" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "[CWL உடன் ஆர்என்ஏவரிசை](https://arvados.github.io/rnaseq-cwl-training/)" diff --git a/locales/user_guide.pot b/locales/user_guide.pot new file mode 100644 index 00000000..0a669946 --- /dev/null +++ b/locales/user_guide.pot @@ -0,0 +1,3122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "" + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "" + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "" + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "" + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "" + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "" + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "" + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "" + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +msgid "merge_nested" +msgstr "" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "" + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "" + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "" + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +msgid "Setting Booleans" +msgstr "" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "" + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "" + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "" + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +msgid "Linux" +msgstr "" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +msgid "macOS" +msgstr "" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +msgid "Windows" +msgstr "" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +msgid "`true.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "" + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +msgid "`arguments.cwl`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +msgid "`arguments-job.yml`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "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][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +msgid "`sample.yml`" +msgstr "" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +msgid "`operations.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "" + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +msgid "`tar-param-job.yml`" +msgstr "" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +msgid "`linkfile.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +msgid "`1st-workflow-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +msgid "`nestedworkflows.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +msgid "`scatter-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +msgid "`wc-tool.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +msgid "`scatter-nested-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" diff --git a/locales/zgh/LC_MESSAGES/sphinx.po b/locales/zgh/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..fa449b56 --- /dev/null +++ b/locales/zgh/LC_MESSAGES/sphinx.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zgh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "" diff --git a/locales/zgh/LC_MESSAGES/user_guide.po b/locales/zgh/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..702fb704 --- /dev/null +++ b/locales/zgh/LC_MESSAGES/user_guide.po @@ -0,0 +1,3125 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2023-12-24 21:09+0000\n" +"Last-Translator: ⵣⵓⵀⵉⵔ ⴰⵎⴰⵣⵉⵖ ZOUHIR DEHBI \n" +"Language-Team: Tamazight (Standard Moroccan) \n" +"Language: zgh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "ⵜⵓⵔⴰⴳⵉⵏ" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "" + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "" + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "" + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "" + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "" + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "" + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "" + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "" + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "" + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +msgid "merge_nested" +msgstr "" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "" + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "" + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "" + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +msgid "Setting Booleans" +msgstr "" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "" + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "" + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "" + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "" + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +msgid "Linux" +msgstr "" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +msgid "macOS" +msgstr "" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +msgid "Windows" +msgstr "" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +msgid "`true.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "" + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +msgid "`arguments.cwl`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +msgid "`arguments-job.yml`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following 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: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "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)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "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][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +msgid "`sample.yml`" +msgstr "" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +msgid "`operations.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "" + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +msgid "`tar-param-job.yml`" +msgstr "" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +msgid "`linkfile.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +msgid "`1st-workflow-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +msgid "`nestedworkflows.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +msgid "`scatter-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +msgid "`wc-tool.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +msgid "`scatter-nested-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" diff --git a/locales/zh_CN b/locales/zh_CN new file mode 120000 index 00000000..6b8cf0dc --- /dev/null +++ b/locales/zh_CN @@ -0,0 +1 @@ +zh_Hans/ \ No newline at end of file diff --git a/locales/zh_Hans/LC_MESSAGES/sphinx.po b/locales/zh_Hans/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..3db68528 --- /dev/null +++ b/locales/zh_Hans/LC_MESSAGES/sphinx.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2023-04-26 11:48+0000\n" +"Last-Translator: Zoë Ma \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.18-dev\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "主导航" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "章节导航" diff --git a/locales/zh_Hans/LC_MESSAGES/user_guide.po b/locales/zh_Hans/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..50854ec7 --- /dev/null +++ b/locales/zh_Hans/LC_MESSAGES/user_guide.po @@ -0,0 +1,4600 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow +# Language User Guide package. +# FIRST AUTHOR , 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-16 11:48+0100\n" +"PO-Revision-Date: 2024-10-19 09:16+0000\n" +"Last-Translator: Zoë Ma \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.8-rc\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac +msgid "Licenses" +msgstr "许可协议" + +#: ../../LICENSE.md:4 9dd9705700664b31a3f296d263b4028b +msgid "Instructional Material" +msgstr "指南资料" + +#: ../../LICENSE.md:6 e54324bd39cd431d91b32e338217b8c7 +msgid "" +"All Common Workflow Language project instructional material and changes " +"to the structure are also made available under the [Creative Commons " +"Attribution license][cc-by-human]. The following is a human-readable " +"summary of (and not a substitute for) the [full legal text of the CC BY " +"4.0 license][cc-by-legal]." +msgstr "" +"通用工作流语言项目的所有指南资料,以及对其结构的修改,均可在遵照[知识共享署名公共许可协议 (Creative Commons " +"Attribution license)][cc-by-human]的前提下获得授权使用。以下是[CC BY 4.0许可完整法律条文][cc-" +"by-legal]的可读摘要(不能替代原条文)。" + +#: ../../LICENSE.md:12 754f3f54aa4142ef9dac27f508dd0bca +msgid "You are free:" +msgstr "您可以自由地:" + +#: ../../LICENSE.md:14 d2b1d5e965ef4e71b64c359549919975 +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "**共享**——通过任何媒介、以任意格式复制和重新分发本作品" + +#: ../../LICENSE.md:15 fe9551ffef8149bf8da50e70318e8de8 +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**演绎**——修改、转换或以本作品为基础进行创作" + +#: ../../LICENSE.md:17 247db3bcc7024c44a044886a29ef1414 +msgid "for any purpose, even commercially." +msgstr "在任何用途下,甚至商业目的。" + +#: ../../LICENSE.md:19 c04d906124854afc917707b7b4e45bb2 +msgid "" +"The licensor cannot revoke these freedoms as long as you follow the " +"license terms:" +msgstr "只要你遵守许可协议条款,许可人就无法收回你的这些权利:" + +#: ../../LICENSE.md:24 551cb5ab59dd4737b1042a4ef79ffab7 +msgid "" +"**Attribution**---You must give appropriate credit (mentioning that your " +"work is derived from work that is Copyright © the Common Workflow " +"Language project, and, where practical, linking to " +"https://www.commonwl.org/%20),%20provide%20a%20[link%20to%20the%20license][cc-by-" +"human], and indicate if changes were made. You may do so in any " +"reasonable manner, but not in any way that suggests the licensor endorses" +" you or your use." +msgstr "" +"**署名**——您必须给出适当的署名,即声明您作品之原始版本的版权为 Common Workflow Language Project 所有 " +"(\"Copyright © the Common Workflow Language project\")。如条件允许,您应提供 " +"https://www.commonwl.org/%20%E5%92%8C[%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE][cc-by-" +"human]的链接,同时标明是否对原始作品作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。" + +#: ../../LICENSE.md:32 f6c3b2ccad494ed6811a35537fc1fb0d +msgid "" +"**No additional restrictions**---You may not apply legal terms or " +"technological measures that legally restrict others from doing anything " +"the license permits. With the understanding that:" +msgstr "**没有附加限制**——您不得适用法律术语或者技术措施从而限制其他人做许可协议允许的事情。并且您理解:" + +#: ../../LICENSE.md:36 91c95248cd7f435c909ee263a9a8bf3f +msgid "" +"You do not have to comply with the license for elements of the material " +"in the public domain or where your use is permitted by an applicable " +"exception or limitation." +msgstr "您不必因为公共领域的作品要素而遵守许可协议,或者您的使用被可适用的例外或限制所允许。" + +#: ../../LICENSE.md:39 27f79b0b648b4de4b0eb3172b2dc4ae8 +msgid "" +"No warranties are given. The license may not give you all of the " +"permissions necessary for your intended use. For example, other rights " +"such as publicity, privacy, or moral rights may limit how you use the " +"material." +msgstr "不提供担保。许可协议可能不会给与您意图使用的所必须的所有许可。例如,其他权利比如形象权、隐私权或人格权可能限制您如何使用作品。" + +#: ../../LICENSE.md:44 1e367d07720d4f9fb7ebc3149052e823 +msgid "Software" +msgstr "软件" + +#: ../../LICENSE.md:46 cf8b58d02b6943a48cb70aa78a27bea4 +msgid "" +"Except where otherwise noted, the example programs and other software " +"provided by Common Workflow Language project are made available under the" +" [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"除非另有注明,Common Workflow Language project " +"提供的示例程序及其他软件均可在遵照[OSI][osi]所批准的[Apache 2.0 " +"许可协议][apache-2.0-license]之前提下获取并使用。" + +#: ../../LICENSE.md:51 96f1e5be3e1e48db8d9a4c7693008715 +msgid "" +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, " +"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " +"See the License for the specific language governing permissions and " +"limitations under the License." +msgstr "除非受适用法律要求或者经书面许可,据本许可协议发行的软件均为“依照其原样”发行,不存在任何种类的、无论是明文还是隐含的担保或合约要件。请查阅许可协议中关于本协议下授权许可行为和责任免除的具体条文。" + +#: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 +#: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf +#: ecdd0f28d5b048d69dd1ffae2fa1f6c0 +msgid "" +"CWL is a way to describe command-line tools and connect them together to " +"create workflows. Because CWL is a specification and not a specific piece" +" of software, tools and workflows described using CWL are portable across" +" a variety of platforms that support the CWL standard." +msgstr "" +"CWL 的作用在于描述各种命令行工具,并且将它们连接起来,以创建工作流 (workflow)。CWL 是一种规范,而非某种特定的软件。因此,由 " +"CWL 描述的工具和工作流能够移植到支持 CWL 标准的多种平台。" + +#: ../../src/episodes.md:5 ../../src/setup.md:5 +#: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 +msgid "This page has moved" +msgstr "此页面已转移" + +#: ../../src/episodes.md:9 f03d7cbe6670451db0896f1b674d56c7 +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. Please use the new [Table of Contents](index.md#table-of-" +"contents) to browse the User Guide." +msgstr "此页面已过时,保留在此仅用于留存旧版《用户指南》的链接。请使用[新版目录](index.md#table-of-contents)浏览《用户指南》。" + +#: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc +msgid "FAQ" +msgstr "常见问题" + +#: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 +msgid "How do I create non \"`File`\" types using `evalFrom`?" +msgstr "如何用 `evalFrom` 创建非“`File`”类型?" + +#: ../../src/faq.md:41 8333f51e3f5945fe8963adfc6685bcb1 +msgid "How do I rename an input file?" +msgstr "如何重命名输入文件?" + +#: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 +msgid "" +"This example demonstrates how to change the name of an input file as part" +" of a tool description. This could be useful when you are taking files " +"produced from another step in a workflow, and don't want to work with the" +" default names that these files were given when they were created." +msgstr "" +"本示例演示如何在工具描述 (tool description) " +"中更改输入文件名称。如果要使用工作流中其它步骤产生的文件,但又不想使用这些文件创建时的默认名称,这时候更名操作可以派上用场。" + +#: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 +msgid "How do I rename an output file?" +msgstr "如何重命名输出文件?" + +#: ../../src/faq.md:61 207e2f97d1c44233ae3f109c5a6ec944 +msgid "" +"This example demonstrates how to change the name of an output file from " +"the default name given to it by a tool:" +msgstr "本示例演示更改输出文件名,不再使用某个工具赋予它的默认名称:" + +#: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 +msgid "" +"By modifying the `basename` field in the `outputEval` field, CWL workflow" +" engines will rename the file using the new name for subsequent steps or " +"as a workflow-level output." +msgstr "" +"通过修改 `outputEval` 字段下的 `basename` 字段,可让 CWL " +"工作流引擎为后续步骤或工作流级别的输出重命名该文件,使用新文件名。" + +#: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 +msgid "How do I reference a local script?" +msgstr "如何引用本地脚本?" + +#: ../../src/faq.md:88 d3e43b40d6994b32bc37067ee116418e +msgid "There are two ways to reference a local script:" +msgstr "引用本地脚本有两种方法:" + +#: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd +msgid "" +"The first method involves adding the path to a folder containing your " +"scripts to the `PATH` environment variable. This allows you to execute " +"the shell script directly (without explicitly using the `sh` or `bash` " +"commands)." +msgstr "" +"第一种方法是将包含相关脚本的文件夹添加至`PATH`(路径)环境变量。" +"这样可以直接运行 shell 脚本,无需直接使用 `sh` 或 `bash` 命令。" + +#: ../../src/faq.md:93 34ebca4487a54ceab5d087105820e945 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "首先,将 _\"shebang\"_ 添加为文件首行:" + +#: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a +msgid "" +"After that, make the script executable with the command `chmod +x " +"scriptname.sh`" +msgstr "然后,用 `chmod +x scriptname.sh` 命令将脚本设为可执行。" + +#: ../../src/faq.md:101 756ab4f7edcf42d3872bb86818e088c3 +msgid "" +"Finally, modify your `PATH` to add the directory where your script is " +"located. (It is good practice to use `$HOME/bin` for storing your own " +"scripts)." +msgstr "最后,修改 `PATH`, 添加该脚本所在的目录。(把你自己的脚本保存在 `$HOME/bin` 目录下是较好的做法)。" + +#: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "这样,您就能用 `baseCommand: scriptname.sh` 直接运行脚本了。" + +#: ../../src/faq.md:117 844938d5d2304c6cb03184b4b4b0b024 +msgid "" +"When you wish to share your work later, you can place your script in a " +"software container in the Docker format." +msgstr "接下来若想共享您的工作,可将脚本存放在 Docker 格式的容器 (container) 中。" + +#: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 +msgid "" +"The second method involves including an input of `type: File` in the " +"script itself:" +msgstr "第二种方法是将 `type: File` 输入内容编写进脚本:" + +#: ../../src/faq.md:138 ba246320fdd94a1aab4736f83718d793 +msgid "How can I set `self`-based input bindings for optional inputs?" +msgstr "如何为可选输入项设置用到 `self` 变量的输入绑定?" + +#: ../../src/faq.md:140 6169b7be9af7448abcb57eaf91e1cc91 +msgid "" +"Currently, `cwltool` can't cope with missing optional inputs if their " +"input binding makes use of `self`. Below is an example workaround for " +"this, pending a more sophisticated fix." +msgstr "目前,如果缺失的可选输入项用到了 `self`, `cwltool` 将无法处理。在更高明的解决办法出现前,下面的例子可作为临时变通一用。" + +#: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab +msgid "How can I model a \"one-or-the-other\" parameter?" +msgstr "如何构建“非此即彼”的参数?" + +#: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 +msgid "" +"Below is an example showing how to specify different strings to be added " +"to a command line, based on the value given to a Boolean parameter." +msgstr "以下示例演示的,是根据某个布尔参数的取值,来指定添加到命令行的字符串。" + +#: ../../src/faq.md:188 5c9980839f404ba6aef92ef23034500f +msgid "" +"How do I connect a solo value to an input that expects an array of that " +"type?" +msgstr "如何将某个元素值与期待同一类型的数组关联起来?" + +#: ../../src/faq.md:190 2525baf16c1f4725b096f33fd99009cf +msgid "" +"Add a " +"[`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement)" +" along with [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput):" +msgstr "" +"将 [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow" +".html#MultipleInputFeatureRequirement) 与 " +"[`linkMerge:merge_nested`](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput) 联合使用:" + +#: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 +msgid "" +"The input must be an array consisting of exactly one entry for each input" +" link. If \"merge_nested\" is specified with a single link, the value " +"from the link must be wrapped in a single-item list." +msgstr "输入必须是一个数组,每个输入链接只包含一个条目。如果使用单个链接指定“merge_nested”,则链接中的值必须包含在单项列表中。" + +#: ../../src/faq.md:199 3af16c07e3f148ddb8849c94a3864158 +msgid "Which means \"create a list with exactly these sources as elements\"." +msgstr "这段话意思是,“创建一个列表,令其中的元素正是这些源”。" + +#: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 +msgid "" +"Or in other words: if the destination is of type `File[]` (an array of " +"`File`s) and the source is a single `File` then add " +"`MultipleInputFeatureRequirement` to the Workflow level `requirements` " +"and add `linkMerge: merge_nested` under the appropriate `in` entry of the" +" destination step." +msgstr "" +"换言之:如果目标的类型是 `File[]`(元素类型为 `File ` 的数组),而源是单独一个 `File`,那么将 " +"`MultipleInputFeatureRequirements` 添加到工作流级别的 `requirements`,并在目标步骤相应的 " +"`in` 条目下添加 `linkMerge: merge_nested`。" + +#: ../../src/faq.md:229 2f1bbb611c9c4f80b7ae0566432f2f35 +msgid "How do make an input optional? 💯" +msgstr "如何使某个输入称为可选的?💯" + +#: ../../src/faq.md:231 08a226efe5d141e68215ac77725033db +msgid "" +"To make an input parameter optional, add a question mark to the type " +"declaration." +msgstr "若要令某个输入参数为可选,请在其类型声明中添加问号。" + +#: ../../src/faq.md:247 06e70a855a8f455ca0536eead77073c2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 7fda8eeb6a7f4689993ed0118c77f023 +msgid "" +"How do I specify an input that must come from a list of predefined values" +" (i.e. How do I use enum inputs) ?" +msgstr "如何让某个输入只能从一组固定的值中取一(即:如何使用枚举类型输入)?" + +#: ../../src/faq.md:250 b1934a82553b4da3b7f981e576245dd8 +msgid "" +"For command line flags that require a specific input as the argument an " +"enum type can be declared in CWL. **Specifying null here is known as long" +" form style. It does the same thing as the question mark on the other " +"inputs.**" +msgstr "" +"某些命令行标志需要特定的参数值;对此,可以在 CWL 中声明枚举类型。**此处指定 null, 这样的编程风格称为“长格式” (long " +"form)。它的作用与其他输入上的问号相同。**" + +#: ../../src/faq.md:267 17fc34fad2094f5ea60e963dabd632b8 +msgid "" +msgstr "" + +#: ../../src/faq.md:268 4d7acfbeba5b4e9cb31f08ef4b280447 +msgid "" +"How do I describe dependent or exclusive input parameters(e.g. How do I " +"use record inputs)?" +msgstr "如何描述彼此依存或互斥的输入参数(即:如何使用记录类型输入)?" + +#: ../../src/faq.md:270 949ce95c082f4a05891a55fee25d4873 +msgid "" +"For commandline flags that are either **mutually exclusive** or " +"**dependent** a special record type can be defined. You can also specify " +"null here to create optional inputs." +msgstr "" +"如果部分命令行标志之间存在 **互斥** 或 **依赖** 的关系,可以为其定义专门的记录类型 (record type)。此处也可以指定 " +"null 创建可选输入。" + +#: ../../src/faq.md:322 6fd3c469d11d4d52b9fbb7a3d443a8db +msgid "How do I set mutually exclusive parameters?" +msgstr "如何设定互斥参数?" + +#: ../../src/faq.md:324 a0687ce5c1f940538abc977cad83138f +msgid "" +"To properly set fields in a record input type, you need to pass a " +"dictionary to the input to properly set the parameters. This is done by " +"using inline JavaScript and returning the dictionary with the key of the " +"field you want to set. The source field is set to indicate the input from" +" the workflow to be used as the value." +msgstr "" +"为了正确地设置记录输入类型的字段,您需要将字典传递给输入,以正确设置参数。具体方法是使用内联 JavaScript " +"返回以待设置字段为主键的字典。此处设定了 source (源)字段,以指示工作流中要充当其键值的输入。" + +#: ../../src/faq.md:342 12869ce2cdab4c858f3232c6158514f1 +msgid "How can I set Booleans?" +msgstr "如何设置布尔参数?" + +#: ../../src/faq.md:344 8dcb88744e5840029de0e1bbf1c4b967 +msgid "These can be set by using the default field" +msgstr "可使用 default(默认)字段设置" + +#: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 +msgid "What should I do when concatenating strings in inputs?" +msgstr "在输入中串联多个字符串时该如何操作?" + +#: ../../src/faq.md:351 68f74afc21d846dd9070d45dec0cc1d8 +msgid "The valueFrom field must be used instead of default." +msgstr "为此必须使用 valueFrom 而非 default 字段。" + +#: ../../src/faq.md:359 53b633c6f8644106beb95ae567eb0708 +msgid "" +"I get `cwltool` errors due to filenames with space characters inside. " +"What should I do?" +msgstr "因文件名含有空格字符,`cwltool`报错,该怎么解决?" + +#: ../../src/faq.md:361 7101bb5cb69e4faca4e60eabb4eb258e +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "默认情况下,`cwltool`不允许某些字符出现在文件名中。" + +#: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 +msgid "" +"For example, the filename `a space is here.txt` includes 3 space " +"characters." +msgstr "例如,文件名 `a space is here.txt`包含三个空格字符。" + +#: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 +msgid "" +"If you can not avoid these dangerous characters, then pass `--relax-path-" +"checks` to `cwltool`." +msgstr "如果不能避开这些危险的字符,您可以为 `cwltool` 传递 `--relax-path-checks` 选项。" + +#: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 +msgid "" +"What should I do when I get CWL Parameter Reference error due to hyphen " +"in an input identifier?" +msgstr "输入标识符中包含连字符造成 CWL 参数引用错误,如何解决?" + +#: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 +msgid "If `cwltool --validate` returns valid" +msgstr "如 `cwltool --validate` 返回 valid(验证通过)" + +#: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 +msgid "But executing it causes an error like:" +msgstr "但执行时导致如下错误:" + +#: ../../src/faq.md:396 2b96665acac449758b852bbe7600e007 +msgid "The file is here" +msgstr "该文件如下" + +#: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec +msgid "Problem caused by `-` (hyphen character)." +msgstr "问题由 `-`(连字符)引发。" + +#: ../../src/faq.md:423 7780f461ca4c478b92fca893c0b0894a +msgid "To fix this error, change `-` (hyphen) to `_` (underscore):" +msgstr "修复方法是将 `-`(连字符)更改为 `_`(下划线):" + +#: ../../src/faq.md:436 88df56dfff854fc68fb6ad3835a846e4 +msgid "" +"If it is not possible to change the input identifier, then you can use an" +" alternative CWL Parameter Reference syntax:" +msgstr "如果不能改动输入标识符,您可使用另一种 CWL 参数引用句法:" + +#: ../../src/faq.md:442 fc407a9e8d8c4b699d9cd14b369343b5 +msgid "How do I use CWL and cwltool with Singularity?" +msgstr "如何在 Singularity 下使用 CWL 和 cwltool?" + +#: ../../src/faq.md:445 239f5f81cef042b08fb8015c36b3ecad +msgid "" +"The CWL standards are built around (optional) Docker format containers. " +"The reference runner and several other CWL implementations support " +"running those Docker format containers using the Singularity engine. " +"Directly specifying a Singularity format container is not part of the CWL" +" standards." +msgstr "" +"CWL 标准是依照 Docker 容器格式建立的,其参考运行程序和另外几种 CWL 实现均支持适应 Singularity 引擎运行 Docker" +" 格式容器。不过,直接指定 Singularity 格式容器不在 CWL 标准之内。" + +#: ../../src/faq.md:450 61641314d82b43e982e54c64c73232c5 +msgid "How do I debug the JavaScript in my CWL tool?" +msgstr "如何调试 CWL 工具中的 JavaScript 代码?" + +#: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b +msgid "" +"You can use the --js-console option of cwltool," +" or you can try creating a JavaScript or TypeScript project for your " +"code, and load it using expressionLib, e.g.: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" +"您可使用 cwltool--js-console 选项,也可以考虑为您的代码创建 " +"JavaScript 或 TypeScript 项目后使用 expressionLib 加载, 比如: " +"https://github.com/common-workflow-language/common-workflow-" +"language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" + +#: ../../src/index.md:1 1c9fb72b83c9467a9672943fb47ffe32 +msgid "Common Workflow Language User Guide" +msgstr "通用工作流语言用户指南" + +#: ../../src/index.md:3 aaa44578e27345e682ab44686b4da159 +msgid "" +"This guide will introduce you to writing workflows using the [Common " +"Workflow Language](https://www.commonwl.org/) (CWL) open standards. This " +"guide describes the latest specification {{ cwl_version }}." +msgstr "" +"这本指南将向您介绍使用 [Common Workflow Language](https://www.commonwl.org/) (CWL) " +"开放标准编写工作流。本指南所描述的是 {{ cwl_version }} 版本最新规范。" + +#: ../../src/index.md:7 0adfc2adb0c74372b25d197dd3a73b8b +msgid "Contributions and Feedback are Welcome!" +msgstr "欢迎您的来稿和意见!" + +#: ../../src/index.md:9 96c8dca812f1415db7c5c006b0c0e022 +msgid "" +"If you find that something is missing from this guide, or if you would " +"like to provide other feedback, file an Issue on the [project repository " +"for this guide][repo]. You can also suggest changes directly in a Pull " +"Request by clicking the \"Edit this page\" button at the right sidebar of" +" each page." +msgstr "" +"如您发现本指南的疏漏之处,或想提供其他反馈,请在[本指南项目源码库][repo]上提交报告 (Issue). 您也可在任意页面点击右边栏的 " +"“Edit this page”(编辑本页)按钮,创建 Pull Request(拉取请求)直接提交修改建议。" + +#: ../../src/index.md:16 35c50bb5c3a345b4a4ae66b2df065376 +msgid "Navigating the User Guide" +msgstr "浏览《用户指南》" + +#: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 +msgid "" +"If you are a beginner user get started with the " +"[Introduction](/introduction/index.md) section. For advanced users the " +"subsections of the [Topics](/topics/index.md) have detailed information " +"about the most common topics for CWL." +msgstr "" +"如您是新用户,请从 [《入门》](/introduction/index.md) 章节出发。而对于进阶用户而言, " +"[《主题》](/topics/index.md)部分各小节涵盖了关于 CWL 最常见话题的详细信息。" + +#: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 +msgid "" +"The Table of Contents is displayed at the top menu and also on the left " +"sidebar. It also appears further down this page but with links to " +"subsections. The right sidebar contains links to the sections of each " +"page, and the Search form is on the left sidebar." +msgstr "目录显示在顶部菜单和左侧边栏,本页更下方也有带小节链接的目录。右侧边栏有当前单页分节链接,搜索功能在左侧边栏。" + +#: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d +msgid "Table of Contents" +msgstr "目录" + +#: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a +msgid "Basic Concepts" +msgstr "基本概念" + +#: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece +msgid "" +"This section describes the basic concepts for users to get started on " +"working with Common Workflow Language (CWL) workflows. Readers are " +"expected to be familiar with workflow managers, YAML, and comfortable " +"with following instructions for the command-line. The other sections of " +"the user guide cover the same concepts, but in more detail. If you are " +"already familiar with CWL or you are looking for more advanced content, " +"you may want to skip this section." +msgstr "" +"本章节介绍用户开始运用通用工作流语言(CWL)所需的基本概念。读者应了解工作流管理工具和 YAML, " +"且能较为自如地按照文中指示操作命令行。这些概念在《用户指南》其他部分有更详尽的说明。如果您已了解 CWL, 或想查阅进阶内容,可以考虑跳过本章节。" + +#: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf +msgid "The CWL Specification" +msgstr "CWL 规约" + +#: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 +msgid "" +"The CWL specification is a document written and maintained by the CWL " +"community. The specification has different versions. The version covered " +"in this user guide is the {{ cwl_version }}." +msgstr "CWL 规约由 CWL 社群撰写并维护,此规约现有多个版本,本《用户指南》所涵盖的是版本 {{ cwl_version }}." + +#: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb +msgid "" +"The specification version can have up to three numbers separated by `.`s " +"(dots). The first number is the major release, used for backward-" +"incompatible changes like the removal of deprecated features. The second " +"number is the minor release, used for new features or smaller changes " +"that are backward-compatible. The last number is used for bug fixes, like" +" typos and other corrections to the specification." +msgstr "" +"规约的版本号码由至多三个数字构成,以 " +"`.`(圆点)分隔。第一个数字为主发布版本,用于向后不可兼容的更改,例如删除过时的功能。第二个数字是次级发布版本,用于新增功能或向后兼容的小幅调整。最后一个数字用于错误修复,例如打字错误或其他更正。" + +#: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 +msgid "" +"The model used for the specification version is called Semantic " +"Versioning. See the end of this section to [learn more](#learn-more) " +"about it." +msgstr "规约所使用的版本标号模型称为“语义型版本”,请参阅本章结尾以[了解更多](#learn-more)相关信息。" + +#: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be +msgid "Implementations" +msgstr "实现" + +#: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 +msgid "" +"An implementation of the CWL specification is any software written " +"following what is defined in a version of the specification document. " +"However, implementations may not implement every aspect of the " +"specification. CWL implementations are licensed under both Open Source " +"and commercial licenses." +msgstr "" +"所谓 CWL 规约的某种“实现” (implementation), " +"指的是任何一种依照某版本的规约内容而编写的软件。然而,诸实现未必能将规约的每个方面都转化为软件实体。目前,CWL " +"各种实现的许可协议包括开源和商业许可。" + +#: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d +msgid "" +"CWL is well suited for describing large-scale workflows in cluster, cloud" +" and high performance computing environments where tasks are scheduled in" +" parallel across many nodes." +msgstr "CWL非常适用于描述集群、云计算和高性能计算 (HPC) 等多节点、任务并行调度环境中的大规模工作流。" + +#: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e +msgid "CWL specification, implementations, and other tools." +msgstr "CWL 规约、实现及其他工具。" + +#: ../../src/introduction/basic-concepts.md:105 +#: 1c1647a3496c4251a3193f94ee4e78c8 +msgid "Processes and Requirements" +msgstr "流程和要求" + +#: ../../src/introduction/basic-concepts.md:107 +#: 854633336f4d4fc394e62c53ce022c6b +msgid "" +"A process is a computing unit that takes inputs and produces outputs. The" +" behavior of a process can be affected by the inputs, requirements, and " +"hints. There are four types of processes defined in the CWL specification" +" {{ cwl_version }}:" +msgstr "" +"流程 (process) 是指接收输入并生成输出的计算单元,影响其行为的包括输入 (input)、要求 (requirement) 及提示 " +"(hint)。CWL 规约 {{ cwl_version }} 版定义了如下四种流程:" + +#: ../../src/introduction/basic-concepts.md:112 +#: 142a847f11d7462f8bf77bfe789410ca +msgid "A command-line tool." +msgstr "命令行工具。" + +#: ../../src/introduction/basic-concepts.md:113 +#: 7c7567fa690043f9b4b89bdf8ca60cad +msgid "An expression tool." +msgstr "表达式工具。" + +#: ../../src/introduction/basic-concepts.md:114 +#: 7afcf087d3ea49dabf1a641a2bb71b35 +msgid "An operation." +msgstr "操作。" + +#: ../../src/introduction/basic-concepts.md:115 +#: 6399939602334819a20b92b957352a8a +msgid "A workflow." +msgstr "工作流。" + +#: ../../src/introduction/basic-concepts.md:118 +#: 8c55b15cebf142899045f229ccc86b1e +msgid "The processing units available in the CWL objects model." +msgstr "可用在 CWL 对象模型中的处理单元。" + +#: ../../src/introduction/basic-concepts.md:119 +#: ec54c0e67e894bfba2d0fbb0f87ffdf4 +msgid "" +"A command-line tool is a wrapper for a command-line utility like `echo`, " +"`ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "“命令行工具”指的是 `echo`、`ls` 及 `tar` 等命令行程序的包装器 (wrapper)。从工作流中可以调用命令行工具。" + +#: ../../src/introduction/basic-concepts.md:122 +#: c88ad26efa794cbeb6f0690aa0cad5ea +msgid "" +"An expression tool is a wrapper for a JavaScript expression. It can be " +"used to simplify workflows and command-line tools, moving common parts of" +" a workflow execution into reusable JavaScript code that takes inputs and" +" produces outputs like a command-line tool." +msgstr "" +"“表达式工具”是 JavaScript 表达式的包装器。通过将工作流执行过程中的相同部分整理为可重用的 JavaScript " +"代码,像命令行工具一样接受输入并生成输出,工作流和命令行工具可以得到简化。" + +#: ../../src/introduction/basic-concepts.md:127 +#: 946825a7ea2c450eb3e41b5548670fb7 +msgid "" +"Operation is an abstract process that also takes inputs, produces " +"outputs, and can be used in a workflow. But it is a special operation not" +" so commonly used. It is discussed in the [Operations " +"section](../topics/operations.md) of this user guide." +msgstr "" +"“操作”是一种抽象的过程,它同样可接受输入、生成输出,并用于工作流中。但是,这一类特殊操作并不十分常用。用户指南的 " +"[《操作》](../topics/operations.md)一节将进行讨论。" + +#: ../../src/introduction/basic-concepts.md:131 +#: 44aac23f302c4178accf7e431cfbb96c +msgid "" +"The workflow is a process that contains steps. Steps can be other " +"workflows (nested workflows), command-line tools, or expression tools. " +"The inputs of a workflow can be passed to any of its steps, while the " +"outputs produced by its steps can be used in the final output of the " +"workflow." +msgstr "“工作流”指的是可分为步骤的流程。“步骤”可以是其他工作流(嵌套工作流),也可以是命令行工具或表达式工具。工作流的输入可以传递给它的任一步骤,而其步骤生成的输出可用作工作流的最终输出。" + +#: ../../src/introduction/basic-concepts.md:137 +#: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 +msgid "" +"The CWL specification allows for implementations to provide extra " +"functionality and specify prerequisites to workflows through " +"*requirements*. There are many requirements defined in the CWL " +"specification, for instance:" +msgstr "CWL 规约允许其实现提供额外功能,或通过 *requirements* (要求)指定工作流的先决条件。CWL 规约定义了诸种要求,如:" + +#: ../../src/introduction/basic-concepts.md:141 +#: 07c5789c59224ed78a3ecd03cfe872e9 +msgid "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" +" - enables JavaScript in expressions." +msgstr "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow." +"html#InlineJavascriptRequirement) —— 在表达式中启用 JavaScript." + +#: ../../src/introduction/basic-concepts.md:142 +#: 6f9854ae1b884ad39f88d2f39d66cb98 +msgid "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" +" - enables nested workflows." +msgstr "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow." +"html#SubworkflowFeatureRequirement) —— 启用嵌套工作流。" + +#: ../../src/introduction/basic-concepts.md:143 +#: 23fef6de073f4da18118e4d0512670fe +msgid "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement)" +" - controls staging files in the input directory." +msgstr "" +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow." +"html#InitialWorkDirRequirement) —— 控制输入目录中的暂存文件。" + +#: ../../src/introduction/basic-concepts.md:145 +#: fb3762f91177401ea624d1e716d67ae6 +msgid "" +"Some CWL runners may provide requirements that are not in the " +"specification. For example, GPU requirements are supported in `cwltool` " +"through the `cwltool:CUDARequirement` requirement, but it is not part of " +"the {{ cwl_version }} specification and may not be supported by other CWL" +" runners." +msgstr "" +"某些 CWL 运行程序可能提供规约之外的需求。例如 `cwltool` 提供 `cwltool:CUDARequirement` " +"以支持GPU需求,但这不在 {{ cwl_version }} 版本规约之内,可能不受其他 CWL 运行程序支持。" + +#: ../../src/introduction/basic-concepts.md:151 +#: b6a5cd431c324078a9a4e1513a14ee28 +msgid "" +"Hints are similar to requirements, but while requirements list features " +"that are required, hints list optional features. Requirements are " +"explained in detail in the [Requirements](../topics/requirements-and-" +"hints.md) section." +msgstr "" +"“提示”与需求类似。其区别是,列为“需求”的功能是不可缺少的,而提示仅列出可选功能。更详细介绍请见 [《需求》](../topics" +"/requirements-and-hints.md)一章。" + +#: ../../src/introduction/basic-concepts.md:155 +#: 88d7bad84dd341d2abb33673b8b8f250 +msgid "FAIR Workflows" +msgstr "FAIR 工作流" + +#: ../../src/introduction/basic-concepts.md:157 +#: bcbf5d76cf5f47b2a9691b7d2d8ef891 +msgid "" +"The FAIR principles have laid a foundation for sharing and publishing " +"digital assets, and in particular, data. The FAIR principles emphasize " +"machine accessibility and that all digital assets should be Findable, " +"Accessible, Interoperable, and Reusable. Workflows encode the methods by " +"which the scientific process is conducted and via which data are created." +" It is thus important that workflows both support the creation of FAIR " +"data and themselves adhere to the FAIR principles. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community" +" Initiative." +msgstr "" +"FAIR 为数字资源(尤其是数据)的共享和发布提供了一组基本原则。FAIR " +"四项原则强调“机器可读”的重要性,进而提出应使所有数字资源可发现、可访问、" +"可互操作以及可重用 (Findable, Accessible, Interoperable, and Reusable)。工作" +"流通过代码所描述的,正是让科学工作得以开展、数据得以创建的过程。因此," +"应强调工作流须支持创建 FAIR 数据,并且其自身也遵从 FAIR 原则。—— " +"工作流社群行动之[FAIR 计算工作流](https://workflows.community/groups/fair/)。" + +#: ../../src/introduction/basic-concepts.md:167 +#: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 +msgid "" +"CWL has roots in \"make\" and many similar tools that determine order of " +"execution, based on dependencies between tasks. However, unlike \"make\"," +" CWL tasks are isolated, and you must be explicit about your inputs and " +"outputs." +msgstr "" +"CWL 滥觞于“make”一类推定任务间依赖关系,并据此决定其执行次序的工具。但与“make”的不同在于,CWL " +"任务是存在于独立环境中的,其输入和输出需要明确指定。" + +#: ../../src/introduction/basic-concepts.md:171 +#: c0f53138bf084939a54b0a576b44199f +msgid "" +"The benefit of explicitness and isolation are flexibility, portability, " +"and scalability; tools and workflows described with CWL can transparently" +" leverage technologies such as Docker and be used with CWL " +"implementations from different vendors." +msgstr "" +"明确而独立,其益处在于灵活、可移植及可扩缩。CWL 所描述的工具和工作流,既能无缝对接 Docker 等技术以发挥其优势,又能通用于不同供应方的 " +"CWL 实现环境中。" + +#: ../../src/introduction/basic-concepts.md:176 +#: 91d6eb4984a6410ba99616b6617ba9af +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "同时,`cwltool` 将 PROV-O 标准本体 (standard ontology) 运用于数据来源的保证。" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:183 +#: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 +#: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 +msgid "Learn More" +msgstr "了解更多信息" + +#: ../../src/introduction/basic-concepts.md:180 +#: 7221a89559944627b4c3db37f468f72c +msgid "Semantic Versioning - " +msgstr "语义型版本 —— " + +#: ../../src/introduction/basic-concepts.md:181 +#: bccf086fc9514f76b60dc161e3a09da3 +msgid "" +"The CWL Specification page in the CWL website: " +"" +msgstr "CWL网站上的规约页面: " + +#: ../../src/introduction/basic-concepts.md:182 +#: a5b37924c7d04ab984ff2542847afc4a +msgid "" +"The Command Line Tool Description Standard: " +"<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" +msgstr "" +"命令行工具描述标准:<[https://www.commonwl.org/v1.2/CommandLineTool." +"html](https://w3id.org/cwl/CommandLineTool.html)>" + +#: ../../src/introduction/basic-concepts.md:183 +#: 44af015fa36644b99f07338d241d29c1 +msgid "" +"The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" +"GitHub 上的 CWL 规约当前版本: {{ ''.format(cwl_version_text) }}" + +#: ../../src/introduction/basic-concepts.md:184 +#: bffca993172048a4b7ab7c62637662e2 +msgid "" +"The list of Implementations in the CWL website: " +"" +msgstr "CWL 网站所列的诸种实现:" + +#: ../../src/introduction/basic-concepts.md:185 +#: 84c61946406347c8b138772909110d54 +msgid "PROV-O: The PROV Ontology - " +msgstr "PROV-O:PROV 本体 —— " + +#: ../../src/introduction/basic-concepts.md:186 +#: eb0b6a62e06143eabc7b92acff9643ea +msgid "" +"CWL Operations are covered in the [Operations](../topics/operations.md) " +"section of this user guide." +msgstr "CWL 操作 (operations) 见于本《用户指南》中[《操作》](../topics/operations.md)一章。" + +#: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 +msgid "Introduction" +msgstr "概述" + +#: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df +msgid "" +"This section will guide you through a short introduction to CWL, the " +"prerequisites for following this user guide, and some basic concepts that" +" are useful to know before reading the rest of the user guide." +msgstr "本章节将引导您了解 CWL简介、学习本《用户指南》所需的准备,以及有利于您阅读理解本《指南》的若干基本概念。" + +#: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e +msgid "Prerequisites" +msgstr "学习前的准备" + +#: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 +msgid "" +"The software and configurations listed in this section are prerequisites " +"for following this user guide. The CWL standards are implemented by many " +"different workflow runners and platforms. This list of requirements " +"focuses on the CWL reference runner, `cwltool`. You can use another CWL-" +"compatible runner or workflow system, but the results and interface may " +"look different (though the exact workflow outputs should be identical)." +msgstr "" +"学习本《用户指南》前,首先需要准备好本节所述的软件及其配置。CWL 标准现有多种工作流运行器和平台实现。本节列出的要求主要着眼于 CWL " +"的参考运行程序即 `cwltool`。您也可以使用与之兼容的其他 CWL " +"运行程序或工作流系统,但运行结果和界面可能有所出入(尽管严格意义上属于工作流的输出应该相同)。" + +#: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 +msgid "CWL Implementations" +msgstr "CWL 实现" + +#: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 +msgid "" +"There are many implementations of the CWL standards. Some are complete " +"CWL runners, while others could be plug-ins or extensions to workflow " +"engines. We have a better explanation in the [Implementations](basic-" +"concepts.md#implementations) section." +msgstr "" +"CWL 标准有多种实现,既包括完整的 CWL 运行程序,也有工作流引擎的插件或扩展程序。 详见[《实现》](basic-" +"concepts.md#implementations)一章。" + +#: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 +msgid "Operating System" +msgstr "操作系统" + +#: ../../src/introduction/prerequisites.md:21 209a0018e7da48f09b27dc507ba14d24 +msgid "" +"We recommend using an up-to-date operating system. You can choose any of " +"the following options for your operating system:" +msgstr "建议使用以下任一可选系统的最新版本:" + +#: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 +msgid "Linux" +msgstr "Linux" + +#: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b +msgid "macOS" +msgstr "macOS" + +#: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 +msgid "Windows" +msgstr "Windows" + +#: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c +msgid "" +"If you are using Windows, you will have to install the Windows Subsystem " +"for Linux 2 as documented in the [`cwltool` documentation for Microsoft " +"Windows users](https://github.com/common-workflow-" +"language/cwltool/blob/main/README.rst#ms-windows-users). Your operating " +"system also needs internet access and a recent version of Python (3.6+)." +msgstr "" +"如使用 Windows 操作系统,须首先安装适用于 Linux 的 Windows 子系统 2 (WSL2)," +"详请参阅 [`cwltool` 说明文件针对微软 Windows 用户的部分](https://github.com/" +"common-workflow-language/cwltool/blob/main/README.rst#ms-windows-" +"users)。同时,您的操作系统还需能接入互联网,以及运行较新版本(3.6 以上)的 " +"Python." + +#: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 +msgid "CWL Runner" +msgstr "CWL 运行程序" + +#: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 +msgid "" +"The first thing you will need for running CWL workflows is a CWL runner. " +"`cwltool` is a Python Open Source project maintained by the CWL " +"community. It is also the CWL reference runner, which means it must " +"support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" +"要运行CWL工作流,首先要用到的就是 CWL 运行程序 (runner). `cwltool`作为 CWL 社群共同维护开发的 Python " +"开源项目,正是 CWL 运行程序的参考实现,也就是说,它必须完整支持当前 {{ cwl_version }} 版本 CWL 规约。" + +#: ../../src/introduction/prerequisites.md:44 068f09d4d66547448693f7b9dadef497 +msgid "" +"`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend " +"using a virtual environment like `venv` or `conda`." +msgstr "`cwltool` 可通过 `pip`, `apt`, " +"或者`conda`安装。我们推荐使用`venv`或`conda`等虚拟环境。" + +#: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 +msgid "" +"Visit the `cwltool` " +"[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " +"details on installing `cwltool`." +msgstr "" +"关于安装`cwltoom`的详情,请参阅 `cwltool` [说明文件](https://cwltool." +"readthedocs.io/en/latest/#install)." + +#: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "我们来用`cwltool` 处理名为 `true.cwl` 的一个简单 CWL 工具描述。" + +#: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a +msgid "`true.cwl`" +msgstr "`true.cwl`" + +#: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 +msgid "" +"The `cwltool` command has an option to validate CWL tool and workflow " +"descriptions. This option will parse the CWL document, look for syntax " +"errors, and verify that the workflow descriptions are compliant with the " +"CWL standards. However, these actions will be performed without running " +"the document. To validate CWL workflows (or even a standalone command " +"line tool description like the above) pass the `--validate` option to the" +" `cwltool` command:" +msgstr "" +"`cwltool` 命令有一个选项可用于“确认” (validate) 也就是检验 CWL 工具和工作流描述。使用该选项可以进行 CWL " +"文件语法分析,查找语法错误,并以 CWL 标准验证工作流描述的规范性。然而,进行这一系列操作并不会运行 CWL 文件。要确认 CWL " +"工作流(包括类似前例的独立命令行工具描述),请将 `--validate` 选项传递给 `cwltool` 命令:" + +#: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "用 `cwltool` 确认(即检验)`true.cwl`." + +#: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "去掉 `--validate` 选项,才能运行 CWL 工具描述:" + +#: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b +msgid "Running `true.cwl` with `cwltool`." +msgstr "用 `cwltool` 运行 `true.cwl`." + +#: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac +msgid "Generic ``cwl-runner`` alias" +msgstr "通用别名``cwl-runner``" + +#: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 +msgid "" +"`cwl-runner` is an implementation-agnostic alias for any CWL compliant " +"runner. This simply means that the `cwl-runner` alias command can be " +"invoked independently, and is not reliant on a particular CWL runner " +"program name. Users can invoke `cwl-runner` instead of invoking a CWL " +"runner like `cwltool` directly. The `cwl-runner` is installed by a system" +" administrator or user to point to the preferred CWL implementation. This" +" is convenient for environments with multiple CWL runners." +msgstr "" +"`cwl-runner` 是任何符合标准的 CWL 运行程序“不分实现”的别名 (alias). 简言之,`cwl-runner` " +"这个别名命令可独立地启用,不依赖于 CWL 运行程序的具体名称。用户只需调用 `cwl-runner`, 而无需直接调用诸如 `cwltool` " +"这样的某个 CWL 运行程序。经系统管理员或用户安装后,`cwl-runner` 命令用来代指其首选的 CWL 实现。这样的安排更便利于多个 " +"CWL 运行程序共存的环境。" + +#: ../../src/introduction/prerequisites.md:88 6dd6aa836099469381fb564d63b84f3d +msgid "" +"The CWL community publishes a Python package with the name `cwlref-" +"runner` that installs an alias for `cwltool` under the name `cwl-runner`." +msgstr "" +"CWL 社群发布有名为 `cwlref-runner` 的 Python 包,以安装 `cwl-runner` 作为 " +"`cwltool` 的别名。" + +#: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "用 `pip` 为 cwltool 安装别名 `cwl-runner`." + +#: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 +msgid "" +"Now you can validate and run your workflow with the `cwl-runner` " +"executable, which will invoke `cwltool`. You should have the same results" +" and output as in the previous section." +msgstr "现在要检验或运行工作流就可以用 `cwl-runner` 这个命令了,它将为你调用 `cwltool`. 其运行结果和输出应当与上一节中相同。" + +#: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "用 `cwl-runner` 检验 `true.cwl`." + +#: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "用 `cwl-runner` 运行 `true.cwl`." + +#: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c +msgid "" +"Another way to execute `cwl-runner` is by invoking the file directly. For" +" that, the first thing you need to do is copy `true.cwl` workflow into a " +"new file: `true_shebang.cwl`, and include a special first line, a " +"*shebang*:" +msgstr "" +"执行 `cwl-runner` 还有一种方法,即直接调用 CWL 文件。为此,首先将 `true.cwl` 工作流复制为新文件 " +"`true_shebang.cwl`, 然后加入特定的 *shebang* (即 \"hash-bang\") 作为首行:" + +#: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d +msgid "`true_shebang.cwl`" +msgstr "`true_shebang.cwl`" + +#: ../../src/introduction/prerequisites.md:122 4f3cb8d1f9ce4e3d852e81aa4e0f60be +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "现在,用 `chmod u+x` 命令将 `true_shebang.cwl` 设为可执行。" + +#: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf +msgid "Making `true.cwl` executable." +msgstr "令 `true.cwl` 可执行。" + +#: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa +msgid "" +"And finally, you can execute it directly in the command-line. On " +"execution, the program specified in the shebang (`cwl-runner`) will be " +"used to execute the rest of the file." +msgstr "" +"到此,此 CWL 文件即可在命令行直接执行了。一旦下令执行这个文件,“shebang”所指定的程序 (即 `cwl-runner`) " +"将实际执行其余部分。" + +#: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "使用 shebang 运行 `true_shebang.cwl`." + +#: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 +msgid "" +"The *shebang* is the two-character sequence `#!` at the beginning of a " +"script. When the script is executable, the operating system will execute " +"the script using the executable specified after the shebang. It is " +"considered a good practice to use `/usr/bin/env [executable]` rather than" +" using a hard-coded location, since `/usr/bin/env [executable]` looks for" +" the `[executable]` program in the system `PATH`," +msgstr "" +"所谓 *shebang* 是指脚本起始处 `#!` 这两个连续字符。如果脚本可执行," +"操作系统将用紧跟在 shebang 之后写明的可执行程序来执行此脚本。一个好习惯是用 " +"`/usr/bin/env [可执行程序名]`,而不是硬性编码其所在路径。这是因为 `/usr/bin/" +"env [可执行程序名]` 所做的事情,是在系统 `PATH`(命令路径环境变量)下查找 " +"`[可执行程序名]` 的实际位置," + +#: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 +msgid "Text Editor" +msgstr "文本编辑器" + +#: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f +msgid "" +"You can use any text editor with CWL, but for syntax highlighting we " +"recommend an editor with YAML support. Popular editors are Visual Studio " +"Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" +"任何文本编辑器都可以用于 CWL 编程。不过,我们建议使用支持显示 YAML 语法的编辑器。常用的编辑器包括 Visual Studio " +"Code、Sublime、WebStorm、vim/neovim 以及 Emacs 等。" + +#: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 +msgid "" +"There are extensions for Visual Studio Code and WebStorm that provide " +"integration with CWL, and features such as customized syntax highlighting" +" and better auto-complete:" +msgstr "以下 Visual Studio Code 和 WebStorm 的扩展程序支持 CWL 集成,提供自定义语法显示、改进的自动补全等功能:" + +#: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b +msgid "" +"Visual Studio Code with the Benten (CWL) plugin - " +"" +msgstr "" +"带 Benten (CWL) 插件的 Visual Studio Code —— " + +#: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca +msgid "" +"cwl-plugin for IntelliJ - " +msgstr "" +"IntelliJ 的 cwl-plugin 插件 —— " + +#: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 +msgid "" +"The CWL community also maintains a list of editors and viewers: " +"" +msgstr "CWL 社群维护的编辑器和阅览器列表:" + +#: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 +msgid "Docker" +msgstr "Docker" + +#: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe +msgid "" +"`cwltool` uses Docker to run tools, workflows, and workflow steps that " +"specify a software container. Follow the instructions in the Docker " +"documentation to install it for your operating system: " +"." +msgstr "" +"`cwltool` 使用 Docker 运行指定了软件容器的工具、工作流及工作流步骤。请按照 Docker 文档在您的操作系统中安装 " +"Docker: 。" + +#: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 +msgid "" +"You do not need to know how to write and build Docker containers. In the " +"rest of the user guide, we will use existing Docker images for running " +"examples, and to clarify the differences between the execution models " +"with and without containers." +msgstr "您无需掌握如何编写和构建 Docker 容器。在接下来的部分里,我们将用现成的 Docker 映像来运行范例,并阐明有无容器的执行模型之间有何不同。" + +#: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc +msgid "" +"`cwltool` supports running containers with Docker, Podman, udocker, and " +"Singularity. You can also use alternative container registries for " +"pulling images." +msgstr "`cwltool` 支持使用 Docker、Podman、udocker 和 Singularity 运行容器,并支持从非官方容器仓库拉取映像。" + +#: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 +msgid "" +"The [Implementations](basic-concepts.md#implementations) topic in the " +"next section, Basic Concepts." +msgstr "下一节《基本概念》之[“实现”](basic-concepts.md#implementations)主题。" + +#: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea +msgid "The Python `venv` module: " +msgstr "Python `venv` 模块:" + +#: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 +msgid "Quick Start" +msgstr "快速入门" + +#: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 +msgid "" +"This section will show you a brief overview of what CWL is, and where you" +" can learn more about it. No previous knowledge of CWL is required, but " +"you must be comfortable following instructions for the command-line." +msgstr "本节将为您概述 CWL 是什么,以及在何处可以进一步学习。您不需要有 CWL 知识储备,但要能较为自如地按照文中指示操作命令行。" + +#: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 +msgid "“Hello World”" +msgstr "“Hello World”(“世界您好”程序)" + +#: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b +msgid "" +"CWL documents are written in [YAML](../topics/index.md) (and/or JSON). " +"The example below shows a simple CWL “Hello World” workflow annotated " +"with comments. Note that comments start with `#`:" +msgstr "" +"CWL 文件按照 [YAML](../topics/index.md) 或者 JSON 格式编写的。下例演示了一个简单的 CWL " +"工作流“Hello World”,并且标有注释,即 `#` 符号后面的文字:" + +#: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 +msgid "`hello_world.cwl`" +msgstr "`hello_world.cwl`" + +#: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e +msgid "" +"The example above is just a wrapper for the `echo` command-line tool. " +"Running the workflow above with the default input values will produce the" +" same result as the command-line `echo \"Hello World\"`." +msgstr "" +"上面的示例不过是 `echo` 命令行工具的包装器 (wrapper). 使用默认输入值运行上述工作流,产生的结果会和命令 `echo " +"\"Hello World\"` 别无二致。" + +#: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 +msgid "" +"In CWL, there is a distinction between a command-line tool and a " +"workflow. But for the sake of simplicity, we are using the term " +"“workflow” here. You will learn more about this in the [basic concepts" +"](basic-concepts.md) section." +msgstr "" +"CWL 中“命令行工具”和“工作流”是有所区别的。但为了简单起见,这里我们仍然用了“工作流”一次。更多有关信息可在[《基本概念》](basic-" +"concepts.md)一节中学到。" + +#: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d +msgid "Installing a CWL Runner" +msgstr "安装 CWL 运行程序" + +#: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 +msgid "" +"`cwltool` is an implementation of the CWL specification. It is also the " +"CWL *Reference Runner* for the specification, and it is compliant with " +"the latest version of the specification: {{ cwl_version }}. You can " +"install `cwltool` using `pip`:" +msgstr "" +"`cwltool` 是 CWL 规约的一种实现,也为该规约编写的 CWL *参考运行程序*。它符合规约的最新版本 {{ cwl_version " +"}} 版。您可用 `pip` 安装 `cwltool`:" + +#: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 +msgid "Installing `cwltool` with `pip`." +msgstr "使用 `pip` 安装 `cwltool`." + +#: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e +msgid "" +"If installing the cwltool using the pip command doesn't work for you, the" +" [prerequisites](prerequisites.md) section contains other ways to install" +" `cwltool` and a more detailed list of software and libraries used for " +"following the rest of this user guide." +msgstr "" +"如果您无法用 pip 命令安装 cwltool,请参阅[《学习前的准备》](prerequisites.md) 一节,了解安装 `cwltool`" +" 的其他方法,以及继续学习《用户指南》所需软件和库的详细列表。" + +#: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 +msgid "Running \"Hello World\"" +msgstr "运行“Hello World”" + +#: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd +msgid "" +"The usage of the `cwltool` command-line executable is basically `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " +"`hello_world.cwl` workflow without specifying any option:" +msgstr "" +"`cwltool` 命令行程序的基本用法是 `cwltool [选项] [CWL 文件] [输入对象]`. " +"运行 `hello_world.cwl` 工作流,您无需指定任何选项:" + +#: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "使用 `cwltool` 运行 `hello_world.cwl`." + +#: ../../src/introduction/quick-start.md:62 4306d8ad802f45c18487d932d04492fa +msgid "" +"Or you can override the default value of the input parameter `message`, " +"similar to how you would change the argument of the `echo` base command:" +msgstr "您还可以撤销输入参数 `message` 的默认值,有如更改 `echo` 基本命令的参数:" + +#: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "向 `cwltool` 传递输入参数值运行 `hello_world.cwl`." + +#: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 +msgid "" +"Another way of passing values to your workflow input parameters is via an" +" *Inputs Object*. This is a file containing the input fields with their " +"corresponding values. The Inputs Objects file can be written in JSON or " +"YAML. For example:" +msgstr "" +"将值传递给工作流输入参数的另一种方法是利用*输入对象* (Inputs Object)。它是由输入字段及其相应值构成的文件,可使用 JSON 或 " +"YAML 格式编写。例如:" + +#: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 +msgid "`hello_world-job.json`" +msgstr "`hello_world-job.json`" + +#: ../../src/introduction/quick-start.md:80 c5983ba6c86f4b749522c11cb3843911 +msgid "" +"You can use this Inputs Object file now to execute the “Hello World” " +"workflow:" +msgstr "这样就可以在执行“Hello World”工作流时使用此输入对象文件:" + +#: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "将输入对象文件传递给 `cwltool`." + +#: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 +msgid "" +"We used a similar file name for the workflow and for the Inputs Object " +"files. The *-job.json* suffix is very common in Inputs Object files, but " +"it is not a requirement. You can choose any name for your workflows and " +"Inputs Object files." +msgstr "" +"我们为工作流和输入对象文件起了类似的文件名。输入对象文件名中的 *-job.json* " +"后缀是很常见的,但并非规定。工作流和输入对象文件的命名方式可由您任意选择。" + +#: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e +msgid "Continue reading the next sections of this User Guide!" +msgstr "请继续阅读《用户指南》后续部分!" + +#: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "[ 各种 CWL 实现汇总](https://www.commonwl.org/implementations)。" + +#: ../../src/introduction/quick-start.md:98 1c888f1b771d49b3a257ed534b5afa0a +msgid "" +"The [`common-workflow-language` organization](https://github.com/common-" +"workflow-language) at GitHub." +msgstr "" +"GitHub上的 [`common-workflow-language` 组织](https://github.com/common-" +"workflow-language)。" + +#: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 +msgid "" +"[Common Workflow Language at " +"Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" +"[英文维基百科中的 Common Workflow Language " +"条目](https://en.wikipedia.org/wiki/Common_Workflow_Language)。" + +#: ../../src/introduction/quick-start.md:100 dc714ffd4278421b9f2417f41627722c +msgid "" +"[YAML.org](http://yaml.org/) and [YAML at " +"Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" +"[YAML.org](http://yaml.org/) 网站,以及[维基百科中的 YAML " +"条目](https://en.wikipedia.org/wiki/YAML)。" + +#: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa +msgid "" +"The {{'[CWL Specification " +"VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." +msgstr "" +"{{'[CWL 规约 VERSION " +"版](https://www.commonwl.org/VERSION)'.replace('VERSION', " +"cwl_version_text) }}." + +#: ../../src/introduction/quick-start.md:102 936a7dfab11a4f2c82c0b59964e3ea28 +msgid "" +"[Workflow management system at " +"Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" +"[Wikipedia 条目 Workflow Management System " +"](https://en.wikipedia.org/wiki/Workflow_management_system)." + +#: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a +msgid "" +"This page is out-of-date and was kept here to preserve the links of the " +"old User Guide. The information on this page has been migrated to the " +"[FAQ](/faq.md) section of the new user guide." +msgstr "此页面已过时,存留在此仅用于保留旧《用户指南》链接。此页面上的内容已迁移到新《用户指南》的[《常见问题》](/faq.md)一节。" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 3843684b039a40dea163de951ca56738 +msgid "Additional Arguments and Parameters" +msgstr "附加参数" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: a6fd1842b938435aa2a3c889019eec71 +msgid "" +"Sometimes tools require additional command line options that don't " +"correspond exactly to input parameters." +msgstr "有时,一些工具需要额外的命令行选项,但我们无法让它们与 (CWL) 输入参数一一对应。" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: dfed0747ed544547afd364086d828c9b +msgid "" +"In this example, we will wrap the Java compiler to compile a java source " +"file to a class file. By default, \"javac\" will create the class files " +"in the same directory as the source file. However, CWL input files (and " +"the directories in which they appear) may be read-only, so we need to " +"instruct \"javac\" to write the class file to the designated output " +"directory instead." +msgstr "" +"本例中,我们将包装 Java 编译器,将 java 源文件编译为类 (class) 文件。 默认情况下,“javac” " +"将在源文件所在目录中创建类文件。 然而,CWL 输入文件(及其所在目录)可能是只读的,因此我们需要令 “javac” 将类文件写入指定的输出目录。" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: e690b567eae34f3f8dbdd7760e51449a +msgid "`arguments.cwl`" +msgstr "`arguments.cwl`" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 4cee519b108143be89a0e47a75d7d649 +#: 79585673fd654bab9ba7c1927d7e153b +msgid "`arguments-job.yml`" +msgstr "`arguments-job.yml`" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: ef070ebe5f7245489b05660fb6d7c178 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "接下来,创建一个示例 Java 文件,用来让命令行工具处理它。" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 4ae43e3e841442039e4bb8c740096c56 +msgid "" +"And now invoke `cwltool` providing the tool description and the input " +"object on the command line:" +msgstr "现在,将刚才创建的工具描述和输入对象通过命令行传递给 `cwltool` :" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 8497291577914eb3a172c1ffb736d95d +msgid "" +"Here we use the `arguments` field to add an additional argument to the " +"command line that isn't tied to a specific input parameter." +msgstr "此处我们使用 `arguments` 字段,给命令行添加一个与任何具体输入参数都无关的附加参数。" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: dc9fa5f2cbb147b1853c4042c54010f3 +msgid "" +"This example references a runtime parameter. Runtime parameters provide " +"information about the hardware or software environment when the tool is " +"actually executed. The `$(runtime.outdir)` parameter is the path to the " +"designated output directory. Other parameters include " +"`$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, " +"`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " +"Environment][runtime] section of the CWL specification for details." +msgstr "" +"此示例用到了运行时 (runtime) 参数,它们提供的是工具实际执行时的硬件或软件环境信息。 `$(runtime.outdir)` " +"参数是指定输出目录的路径。其他运行时参数还有 " +"`$(runtime.tmpdir)`、`$(runtime.ram)`、`$(runtime.cores)`、`$(runtime.outdirSize)`," +" 以及 `$(runtime.tmpdirSize)` 等,详见 CWL 规约的 [Runtime " +"Environment][runtime](运行环境)部分。" + +#: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe +msgid "Best Practices" +msgstr "优良习惯" + +#: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +msgid "" +"The following 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: although more is better, not all are required." +msgstr "本节列举一组值得留心的好习惯,推荐您在用 CWL 编写工具或工作流描述时参考。您只需结合实际尽量做到,无需求全。" + +#: ../../src/topics/best-practices.md:8 2292670347cd4549bc6a51e972de0ef4 +msgid "" +"No `type: string` parameters for names of input or reference " +"files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" +"不要将 `type: string` 参数用于输入或引用文件、目录的名称;请根据实际情况选用 `type: File` 或 `type: " +"Directory`." + +#: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +msgid "" +"A CWL document (in conjunction with any external components like " +"`Dockerfile`s) is software code. Workflow developers should be aware that" +" the usual rules of software licensing apply to this document. For " +"example, if the workflow is shared publicly, licensing terms must be " +"clear so that a future user understands under what conditions they can " +"run the workflow, modify it and/or combine it with other workflows. For " +"this reason, please consider including a license field in the document. " +"The authors of this guide urge you to choose a pre-existing license " +"rather than trying to write your own (see the link below to learn more " +"about choosing a license), and our recommended practice is to choose a " +"license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" +"license]." +msgstr "" +"CWL 文件(连同 `Dockerfile` 等外部组件)是一种软件代码。工作流开发人员应明白的是,关于软件许可的通用规则也同样适用于您编写的 " +"CWL " +"文件。例如,如果您的工作流是公开共享的,则许可条款一定要明确,以便将来的用户了解在什么条件下可以将它运行、修改、或并入其他工作流。因此,请考虑在 " +"CWL 文件中加入 " +"license(许可协议)字段。笔者敦促您选用现成的许可协议,不要独辟蹊径(关于挑选许可协议请参见下文链接)。同时,建议您选取允许任何人重复使用的许可证,如" +" [Apache 2.0][apache-license]." + +#: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +msgid "" +"If possible, the license should be specified with its corresponding [SPDX" +" identifier][spdx]. Construct the metadata field for the license by " +"providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where " +"`SPDX-ID` is taken from the list of identifiers linked above. See the " +"example snippet below for guidance. For non-standard licenses without an " +"SPDX identifier, provide a URL to the license." +msgstr "" +"请尽可能使用 [SPDX 标识符][spdx] 指定许可协议。许可协议的元数据字段由形如 `https://spdx.org/licenses" +"/[SPDX-ID]` 的 URL 构成,其中 `SPDX-ID` 取自前面链接提到的标识符列表,参见下例这段代码。对于没有 SPDX " +"标识符的非标准许可协议,请提供许可协议的 URL。" + +#: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b +msgid "" +"Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" +"Programmer][sci-license]\"" +msgstr "相关阅读:《[给科学界程序员的软件许可简明指南][sci-license]》" + +#: ../../src/topics/best-practices.md:28 5b976a5aec7d44bda55b0a019e955416 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "_用 SPDX 标识符指定许可协议的元数据字段示例:_" + +#: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 +msgid "" +"For more examples of providing metadata within CWL descriptions, see [the" +" Metadata and Authorship section of this User Guide](../topics/metadata-" +"and-authorship.md)." +msgstr "" +"关于在 CWL " +"描述中提供元数据的更多示例,请参见[本《用户指南》中“元数据和著作权”一节](../" +"topics/metadata-and-authorship.md)。" + +#: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be +msgid "" +"Include [attribution information][license-example] for the author(s) of " +"the CWL tool or workflow description. Use unambiguous identifiers like " +"[ORCID][orcid]." +msgstr "为 CWL 工具或工作流描述的作者添加[署名信息][license-example]。请使用明确、独一无二的标识符,如[ORCID][orcid]." + +#: ../../src/topics/best-practices.md:44 87030aef02044b8283c76debab4772bf +msgid "" +"In tool descriptions, list dependencies using short name(s) under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" +"在工具描述中,将所依赖的软件在 [`SoftwareRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#SoftwareRequirement) 下以简短的名称列出。" + +#: ../../src/topics/best-practices.md:47 6c9eaae099fa4ca4b0986b1c4146df50 +msgid "" +"Include [SciCrunch][scicrunch] identifiers for dependencies in " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" +"为依赖关系添加 [SciCrunch][scicrunch] 标识符。其格式形如 " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN`." + +#: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc +msgid "" +"All `input` and `output` identifiers should reflect their conceptual " +"identity. Use informative names like `unaligned_sequences`, " +"`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " +"`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" +"一切 `input`(输入)和 `output`(输出)标识符均应体现其概念上的特质。请使用类似 " +"`unaligned_sequences`、`reference_genome`、 `phylogeny`、或 " +"`aligned_sequences` 这样望文知义的变量名,而非 " +"`foo_input`、`foo_file`、`result`、`input`、`output` 等缺乏明确内涵的名称。" + +#: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a +msgid "" +"In tool descriptions, include a list of version(s) of the tool that are " +"known to work with this description under " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." +msgstr "" +"在工具描述中 [`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#SoftwareRequirement) 下,请列出已知能与该描述兼容的工具版本。" + +#: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 +msgid "" +"`format` should be specified for all input and output `File`s. " +"Bioinformatics tools should use format identifiers from [EDAM][edam-" +"example]. 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][iana-types] (also known as MIME " +"types). For non-bioinformatics tools, use or build an appropriate " +"ontology/controlled vocabulary in the same way. Please edit this page to " +"let us know about it." +msgstr "" +"所有输入和输出 `File`(文件)都需要指明 `format`(格式)。生物信息学工具应使用来自 [EDAM][edam-example] " +"的格式标识符。另请参考 `iana:text/plain`、`iana:text/tab-separated-values` 等在 " +"`$namespaces: { iana: \"https://www.iana.org/assignments/media-types//" }" +" 下使用的格式名,以及[IANA 媒体类型][iana-types](又称 MIME " +"类型)的完整列表。对于非生物信息学工具,请同样运用或创建合适的本体或受控词表 (controlled vocabulary). " +"如果您对此有经验,请编辑此页面,以告知我们。" + +#: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 +msgid "" +"Mark all input and output `File`s that are read from or written to in a " +"streaming compatible way (only once, no random-access), as `streamable: " +"true`." +msgstr "将所有能作为流读写(即单次、非随机访问)的输入和输出 `File`(文件)标记为 `streamable: true`." + +#: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 +msgid "" +"Each " +"[`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool)" +" description should focus on a single operation only, even if the " +"(sub)command is capable of more. Don't overcomplicate your tool " +"descriptions with options that you don't need or use." +msgstr "" +"即使某个命令或其子命令有多种功能,每个 [`CommandLineTool`](https://w3id.org/" +"cwl/CommandLineTool.html#CommandLineTool)(命令行工具)描述也应侧重于单个操作" +"。请勿添加非必需或用不到的选项,以免工作描述过度复杂。" + +#: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d +msgid "" +"Custom types should be defined with one external YAML per type definition" +" for re-use." +msgstr "关于自定义类型,每个外部 YAML 文件应与单个类型定义一一对应,以便重复使用。" + +#: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "请使用位于顶级的简短 `label`(标签)对工具或工作流加以概括。" + +#: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 +msgid "" +"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)." +msgstr "在用得到的时候,还应添加顶级 `doc`. 相比上述顶级 `label`, 此处应提供更长、更详细的描述。" + +#: ../../src/topics/best-practices.md:82 d92013d662b44dbf8875e06c9dfbfd79 +msgid "" +"Use `type: enum` instead of `type: string` for elements with a fixed list" +" of valid values." +msgstr "对于有效取值为若干固定值的元素,应使用 `type: enum` 而非 `type: string`." + +#: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf +msgid "" +"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][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc., could be used instead." +msgstr "" +"所有用到 JavaScript 之处都应进行评估,考虑是否能将它去除或替代。经常遇到的一例,是处理 `File` " +"(文件)名称和路径。这时应考虑是否能用 [`File` 的内置属性][file-prop](如`basename`、`nameroot` 和 " +"`nameext` 等)取代 JavaScript." + +#: ../../src/topics/best-practices.md:90 e22fbacdb2fb4202b1bd69cfc24af5cd +msgid "" +"Give the tool description to a colleague (preferably at a different " +"institution) to test and provide feedback." +msgstr "写好工具描述后, 把它交给同行(最好来自其他机构)进行测试并获取反馈。" + +#: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 +msgid "" +"Complex workflows with individual components which can be abstracted " +"should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" +" their workflow modular and allow sections of them to be easily reused." +msgstr "" +"若复杂的工作流中包含可以抽象出来的单独组件,应利用 [`SubworkflowFeatureRequirement`][subworkflow] " +"将工作流模块化,以便重复使用其组成部分。" + +#: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab +msgid "" +"Software containers should be made to be conformant to the " +"[\"Recommendations for the packaging and containerizing of bioinformatics" +" software\"][containers] (also useful to other disciplines)." +msgstr "" +"应使软件容器 (container) 符合 [Recommendations for the packaging and " +"containerizing of bioinformatics " +"software][containers](《生物信息学软件封装与容器化建议》)一文提出的标准。该文对其他学科也有参考价值。" + +#: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 +msgid "Command Line Tool" +msgstr "命令行工具" + +#: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e +msgid "" +"A command-line tool is a type of Process object that can be run by itself" +" or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, " +"`tar`, etc. The command-line tool is defined in the `baseCommand` " +"attribute of the command-line tool CWL document." +msgstr "" +"命令行工具是可以单独运行或作为工作流步骤运行的一类流程 (process) 对象。它是诸如 `ls`、`echo`、`tar` " +"等命令的包装器,由相应的 CWL 文件中 `baseCommand` 这一属性定义。" + +#: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 +msgid "" +"A CWL command-line tool must also have `inputs` and `outputs`. The " +"following example contains a minimal example of a CWL command-line tool " +"for the `echo` Linux command, using inputs and outputs." +msgstr "" +"CWL 命令行工具还必具有 `inputs`(输入)和 `outputs`(输出)。以下是一个 CWL 命令行工具的极简示例,用 Linux 下的" +" `echo` 命令演示输入和输出。" + +#: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 +msgid "CWL command-line tool." +msgstr "CWL 命令行工具。" + +#: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f +msgid "`echo.cwl`" +msgstr "`echo.cwl`" + +#: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f +msgid "" +"The example above uses a simplified form to define inputs and outputs. " +"You will learn more about in the [Inputs](../topics/inputs.md) and in the" +" [Outputs](../topics/outputs.md) sections." +msgstr "" +"上例以简化的形式定义了输入和输出。在[《输入》](../topics/inputs.md)和[《输出》](../topics/outputs.md)" +" 章节中,您将进一步学习。" + +#: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 +msgid "Network Access" +msgstr "网络访问 (Network Access)" + +#: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 +msgid "" +"This indicates whether a process requires outgoing IPv4/IPv6 network " +"access. Starting with CWL v1.1, programs are not granted network access " +"by default, so you must include the requirement for network access in the" +" specification of your tool." +msgstr "" +"这用来指明某个进程是否需要对外 IPv4/IPv6 网络连接。从 CWL v1.1 " +"版本起,程序不再默认有权访问网络,因此您需要在工具描述中加入网络访问需求。" + +#: ../../src/topics/command-line-tool.md:84 3282a357799f4a72a6b8bace206144c4 +msgid "" +"CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 or v1.2 " +"will have `networkAccess: true` set automatically." +msgstr "从 CWL v1.0 版本升级到 1.1 或 1.2 版的命令行工具将自动加入 `networkAccess: " +"true` 设置。" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: 17c5b4ee43cc4a979676ad27e473d046 +msgid "Creating Files at Runtime" +msgstr "在运行时创建文件" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: cd0dff10471c4ad2b84e3a0e4d7767ea +msgid "" +"Sometimes you need to create a file on the fly from input parameters, " +"such as tools that expect to read their input configuration from a file " +"rather than the command line parameters, or need a small wrapper shell " +"script." +msgstr "" +"有些情况下,您需要根据输入参数动态创建文件。例如有的工具需要通过文件(而非命令行参数)读取输入配置,还有的需要小型 shell 脚本作为包装器 " +"(wrapper)." + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: bf4aea0a22334a1ca75cc20e937e6581 +msgid "" +"To generate such files, we can use the " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." +msgstr "" +"要生成这样的文件,我们可以使用 [`InitialWorkDirRequirement`](https://w3id." +"org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: 008f768d56b8465bb4e8f4fde15853a7 +msgid "`createfile.cwl`" +msgstr "`createfile.cwl`" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: 252f8e897b0942a8be098481890005f3 +msgid "" +"Any [expressions](../topics/expressions.md) like `$(inputs.message)` are " +"expanded by the CWL engine before creating the file. Here, insert the " +"value at the input `message`." +msgstr "" +"在创建文件之前,CWL引擎将扩展所有形如 `$(inputs.message)` " +"的[表达式](../topics/expressions.md)。此处将插入输入项`message` 实际的值。" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: aca24b72687c4d4d84bf9de8b71413f7 +msgid "" +"The _CWL expressions_ are independent of any _shell variables_ used later" +" during command line tool invocation. That means that any genuine need " +"for the character `$` must be **escaped** with `\\`. For instance, " +"`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " +"be evaluated by the shell script instead of the CWL engine." +msgstr "" +"_CWL 表达式 _ 与后期在命令行工具调用时用到的任何 _shell 变量 _ 是相互独立的。这意味着,所有(后期)实际用到字符 `$` " +"的地方必须由 `\\` (斜线)字符加以** 转义 **。例如,上例中的 `\\${PREFIX}` 在生成的文件中扩展为 " +"`${PREFIX}`,以供 shell 脚本(而非 CWL 引擎)计算其值。" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 750b3232e8754448bc2b5913539495b8 +msgid "" +"To test the above CWL tool, use this job to provide the input value " +"`message`:" +msgstr "测试上述 CWL 工具时,请使用此作业提供输入项 `message` 的值:" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 ../../src/topics/outputs.md:81 +#: 687c8a84bade43269f3cd767d32f9f47 81da7a18fe8d4659abc883cf43009f1f +#: d5d67eae63304ebb9b242133feacb0d1 +msgid "`echo-job.yml`" +msgstr "`echo-job.yml`" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: c4f964450d014734877fb3c968353a74 +msgid "" +"Before we run this, let us look at each step in a little more detail. The" +" base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " +"command `sh example.sh`. This will run the file we create in the shell." +msgstr "" +"运行前,我们来细看一下每个步骤。基础命令 `baseCommand: [\"sh\", \"example.sh\"]` 将执行的命令是 `sh " +"example.sh`. 这将在 shell 中运行我们创建的文件。" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 9aeea5a6a4244bc7a1626e0cb7351068 +msgid "" +"`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a " +"YAML array, we need a `-` on the first line of each element of the array," +" in this case we have just one element. `entryname:` can have any value, " +"but it must match what was specified in the `baseCommand`. The final part" +" is `entry:`, this is followed by `|-` which is YAML quoting syntax, and " +"means that you are using a multiline string (without it, we would need to" +" write the whole script on one line)." +msgstr "" +"`InitialWorkDirRequirements` 需要一个 `listing`。由于 `listing` 是个 YAML " +"数组,我们需要在数组每个元素的首行添加一个 `-` 字符,不过本示例中只有一个元素。`entryname:` 可以取任何值,但它必须与 " +"`baseCommand` 中指定的值相匹配。最后的部分是 `entry:`,后面跟着 `|-`,这是 YAML " +"中表示引用的语法,意味着此处使用的是多行字符串(要是没有它,我们就得将整个脚本写在同一行之内)。" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 867239e9ad3d4187a2703662a0ca3976 +msgid "" +"See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " +"formatting." +msgstr "请参阅[《YAML 指南》 ](../topics/yaml-guide.md#maps) ,进一步了解代码格式。" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 ../../src/topics/workflows.md:198 +#: 0d7151b9f0194197bd686fe6c9c47afd 78bb40eeeda24d7b923162daa45d51a7 +#: 7b341a317347482ca86fc56119c3686f 7c637fa62cab4d0dbe670a3b72737cc9 +#: cfb4605a01dd4475aabcc086a4e65957 +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line:" +msgstr "现在,在命令行上以工具描述和输入对象为参数调用 `cwltool`:" + +#: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c +msgid "Custom Types" +msgstr "自定义类型" + +#: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 +msgid "" +"Sometimes you may want to write your own custom types for use and reuse " +"in CWL descriptions. Use of such custom types can reduce redundancy " +"between multiple descriptions that all use the same type, and also allow " +"for additional customisation/configuration of a tool/analysis without the" +" need to fiddle with the CWL description directly." +msgstr "" +"有时您可能希望自己编写自定义的类型,以便用于 CWL " +"描述中并重复利用。在多个描述用到相同类型的情况下,使用这样的自定义类型可以删繁就简,还可以让我们对工具或分析进行额外的自定义和配置,而无需直接在 " +"CWL 描述上做手脚。" + +#: ../../src/topics/custom-types.md:9 8367e38e5e7c4a298d1d87b9001aaddc +msgid "" +"The example below is a CWL description of the [biom convert format][biom]" +" tool for converting a standard biom table file to hdf5 format." +msgstr "下例用 CWL 描述了一个 [biom 转换格式][biom]工具,用于将标准 biom 表文件转换为 hdf5 格式。" + +#: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 +msgid "`custom-types.cwl`" +msgstr "`custom-types.cwl`" + +#: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 +msgid "`custom-types.yml`" +msgstr "`custom-types.yml`" + +#: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 +msgid "" +"___Note:___ To follow the example below, you need to [download the " +"example input file](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " +"`wget`:" +msgstr "" +"___注意:___ 按照下例演练前,您需要先[下载示例输入文件](https://github.com/common-workflow-" +"language/user_guide/blob/main/src/_includes/cwl/custom-" +"types/rich_sparse_otu_table.biom) *rich_sparse_otu_table.biom*. 例如,使用 " +"`wget`:" + +#: ../../src/topics/custom-types.md:30 a48539920c4944898918bc90b2d4e3c9 +msgid "" +"On line 29, in `inputs:table_type`, a list of allowable table options to " +"be used in the table conversion are imported as a custom object:" +msgstr "在文件第 29 行,`inputs:table_type` 项目中,允许用于数据表转换的选项列表以自定义对象的形式导入:" + +#: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 +msgid "" +"The reference to a custom type is a combination of the name of the file " +"in which the object is defined (`biom-convert-table.yaml`) and the name " +"of the object within that file (`table_type`) that defines the custom " +"type. In this case the `symbols` array from the imported `biom-convert-" +"table.yaml` file define the allowable table options. For example, in " +"`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" +" to create an OTU table in hdf5 format." +msgstr "" +"对自定义类型的引用由两部分构成:对象定义所在的文件名(`biom-convert-table.yaml` " +"),和该文件中定义该类型的对象名(`table_type` )。这里,导入的 `biom-convert-table.yaml` 文件中的 " +"`symbols` 数组定义了允许的表选项。例如,在 `custom-types.yml` 中,我们把 `OTU table` 作为一个 " +"`input`(输入)传入,令工具创建一个 hdf5 格式的 OTU 表。" + +#: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "描述自定义类型的 YAML 文件内容如下:" + +#: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 +msgid "`biom-convert-table.yaml`" +msgstr "`biom-convert-table.yaml`" + +#: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd +msgid "" +"In order for the custom type to be used in the CWL description, it must " +"be imported. Imports are described in " +"`requirements:SchemaDefRequirement`, as below in the example `custom-" +"types.cwl` description:" +msgstr "" +"为了在 CWL 描述中使用自定义类型,必须首先导入。 关于导入的描述位于 `requirements:SchemaDefRequirement` " +"项,如下例 `custom-types.cwl` 所示:" + +#: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 +msgid "" +"Note also that the author of this CWL description has also included " +"[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s," +" specifying the minimum amount of RAM and number of cores required for " +"the tool to run successfully, as well as details of the version of the " +"software that the description was written for and other useful metadata. " +"These features are discussed further in other chapters of this user " +"guide." +msgstr "" +"另请注意,作者还在此 CWL 描述中加入了 [`ResourceRequirement`](https://w3id." +"org/cwl/CommandLineTool.html#ResourceRequirement), 指定了工具正常运行所需的最" +"低内存容量和内核数、该描述针对的软件具体版本、以及其他有用的元数据。这些功能" +"将在《用户指南》其他章节中进一步讨论。" + +#: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a +msgid "Environment Variables" +msgstr "环境变量" + +#: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d +msgid "" +"Tools run in a restricted environment and do not inherit most environment" +" variables from the parent process. You can set environment variables " +"for the tool using `EnvVarRequirement`." +msgstr "CWL 工具运行于受限环境中,大多数环境变量都不会从父进程继承。 您可以使用 `EnvVarRequirements` 为该工具设置环境变量。" + +#: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f +msgid "`env.cwl`" +msgstr "`env.cwl`" + +#: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd +msgid "Expression Tool" +msgstr "表达式工具" + +#: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +msgid "" +"An expression tool is a type of Process that can be run by itself or as a" +" Workflow step. It executes a pure JavaScript expression. It is meant to " +"be used as a way to isolate complex JavaScript expressions that need to " +"operate on input data and produce some result as output." +msgstr "" +"表达式工具是一种类型的流程 (process), 可单独运行,或作为工作流的一个步骤运行。它执行纯 JavaScript 表达式,意在隔离复杂的 " +"JavaScript 表达式,以对输入数据进行运算,并生成结果作为输出。" + +#: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +msgid "" +"Similar to the command-line tool it requires `inputs` and `outputs`. But " +"instead of `baseCommand`, it requires an " +"[`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional))" +" attribute." +msgstr "" +"与命令行工具一样,它需要 `inputs`(输入)和 " +"`outputs`(输出),但与之不同的是,它需要的是 [`expression`](https://w3id." +"org/cwl/CommandLineTool.html#Expressions_(Optional)) 属性,而非 " +"`baseCommand`." + +#: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 +msgid "CWL expression tool." +msgstr "CWL 表达式工具。" + +#: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 +msgid "`uppercase.cwl`" +msgstr "`uppercase.cwl`" + +#: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +msgid "" +"We had to use an " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" as our expression contains a JavaScript call in `.toUpperCase()`. This " +"means to tools using the expression tool that JavaScript is a " +"requirement." +msgstr "" +"因为我们的表达式在 `.toUpperCase()` 处含有一个 JavaScript 调用,所以必须使用 " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InlineJavascriptRequirement). 这向使用表达式工具的其他工具表明 " +"JavaScript 是必备条件。" + +#: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 +msgid "Expressions" +msgstr "表达式" + +#: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec +msgid "" +"If you need to manipulate input parameters, include the requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" and then anywhere a parameter reference is legal you can provide a " +"fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" +"如果需要对输入参数进行处理,请添加需求 " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InlineJavascriptRequirement). 然后,在任何可以合法引用参数的地方," +"您都可以提供一 JavaScript 片段,让 CWL 运行程序计算其值。" + +#: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +msgid "" +"JavaScript expressions should only be used when absolutely necessary. " +"When manipulating file names, extensions, paths etc, consider whether one" +" of the [built in `File` properties][file-prop] like `basename`, " +"`nameroot`, `nameext`, etc, could be used instead. See the [list of best " +"practices](best-practices.md)." +msgstr "" +"JavaScript 表达式应当仅在绝对必要时使用。要处理文件名、扩展名、路径等,请优先考虑能否使用 " +"`basename`、`nameroot`、`nameext` 等 [`File` 内置属性][file-prop]。对此,请参阅[优良习惯一览" +"](best-practice.md)。" + +#: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 +msgid "`expression.cwl`" +msgstr "`expression.cwl`" + +#: ../../src/topics/expressions.md:22 72a0558a83964796a8c1a0eb55fd78e8 +msgid "" +"As this tool does not require any `inputs` we can run it with an (almost)" +" empty job file:" +msgstr "由于此工具不需要任何 `inputs`(输入),因此运行的时候可以使用一个几乎为空的作业文件:" + +#: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf +msgid "`empty.yml`" +msgstr "`empty.yml`" + +#: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +msgid "" +"`empty.yml` contains a description of an empty JSON object. JSON objects " +"descriptions are contained inside curly brackets `{}`, so an empty object" +" is represented simply by a set of empty brackets." +msgstr "" +"`empty.yml` 的内容是一个空 JSON 对象的描述。JSON 对象描述是用大括号 `{}` " +"围起来的,因此,表示空对象仅需一对空括号就够了。" + +#: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 +msgid "We can then run `expression.cwl`:" +msgstr "然后我们可以运行 `expression.cwl`:" + +#: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d +msgid "Running `expression.cwl`" +msgstr "运行 `expression.cwl`" + +#: ../../src/topics/expressions.md:47 f6f64d57a50742b19b801c14806ee18a +msgid "" +"Note that requirements can be provided with the map syntax, as in the " +"example above:" +msgstr "请注意,如上例所示,requirements(要求)可通过映射语法来提供:" + +#: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 +msgid "" +"Or as an array, with each entry (in this case, only `class: " +"InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" +" describe the additional command line arguments." +msgstr "" +"也可以作为一个数组,每个元素均用 `-` 标记(本例中只有一个 `class: InlineJavascriptRequirement` " +"),就和描述额外命令行参数的语法一样。" + +#: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 +msgid "Where are JavaScript expressions allowed?" +msgstr "哪里可以使用 JavaScript 表达式?" + +#: ../../src/topics/expressions.md:64 8c3b402c40f64880a4bd42c47b910254 +msgid "" +"Just like [parameter references](parameter-references.md), you can use " +"JavaScript Expressions only in certain fields. These are:" +msgstr "JavaScript 表达式如同[参数引用](parameter-references.md)一样,只能用于某些特定字段,即:" + +#: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc +msgid "" +"From " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"来自 " +"[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 7ab0dbd54c1441539673fa12ef96b89e +#: e76c6ece0c594fefa86b190879c5acaa +msgid "`arguments`" +msgstr "`arguments`" + +#: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 0209558b1013471eb708698537edaf06 +#: 4458393fdb0e451f9806e91122ea2534 594a163e08f04aa5a04a44a303a1c643 +#: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 +#: af2cdb5f66ac4fd5b8f91258f005cc62 +msgid "`valueFrom`" +msgstr "`valueFrom`" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e +#: f9a6718845e24f46b76fcc8ab26eec7a +msgid "`stdin`" +msgstr "`stdin`" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 +#: 7f5ce097ca0442a6a200599342a6e24b +msgid "`stdout`" +msgstr "`stdout`" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 +#: 7b14686e16eb4f488659b22d67ec3bfa +msgid "`stderr`" +msgstr "`stderr`" + +#: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 +msgid "" +"From " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"来自 " +"[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" + +#: ../../src/topics/expressions.md:73 ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 24f27702d0684bc98e3232103510232e +#: 26a8dff7b80c4e059f1e20eef9da6203 476aa37af5214bcf963c7aab1f859273 +#: 4b0a0cd934bd41b4b55c034b91392bc7 5182e2165e44429287b4d924c2f896a4 +#: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 +#: b301751f90af4700bbada5e5b166be35 +msgid "`format`" +msgstr "`format`" + +#: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 2c2b8db396b04ace8aa396c0a5a4858f +#: 33a9b77ce15b4910962a7f08bd2f47a3 57cba0191de3470bbe112ed2a0d3f252 +#: 6efe998094b3469eae61cfff551b1eb1 776de1ecfafc41ada7e916addd7229fd +#: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 +#: faa7d521fec240748407d03ffdb93aa0 +msgid "`secondaryFiles`" +msgstr "`secondaryFiles`" + +#: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a +msgid "" +"From " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"来自 " +"[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" + +#: ../../src/topics/expressions.md:77 0e2052e16f6a41b8983dc64b4b3a7586 +msgid "" +"From " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"来自 " +"[CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" + +#: ../../src/topics/expressions.md:80 dff31dd961d540e3b8cd1247e978d60e +msgid "" +"From " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"来自 " +"[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 249aba7c38ce49379b9d35e7ad81a0bf +#: 5a354eb4883948e0a2b5c96b5ae12da7 +msgid "`glob`" +msgstr "`glob`" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df +#: 9e477e2cfab24861b517fe2fb52962f4 +msgid "`outputEval`" +msgstr "`outputEval`" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 9448462d104b4be5904623c85a9e16b7 +#: bf11a7a72147445c9b8e44b541e09f36 +msgid "From [`Workflow`](https://w3id.org/cwl/Workflow.html)" +msgstr "来自 [`Workflow`](https://w3id.org/cwl/Workflow.html)" + +#: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"来自 " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" 和 " +"[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 7918d0661be746faaddf25ad49172f30 +#: b8439dbaa949427097e25ccb48fe15ee +msgid "From `steps`" +msgstr "来自 `steps`" + +#: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 +msgid "" +"From " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"来自 " +"[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 +#: ab1ba7626eae483a8b614ee4cd5bab6f +msgid "" +"From " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" +"来自 " +"[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 595b9ddcee734d6595c1b4b2d169dcb8 +#: 80b55c77a4384644acfc9472c3cedee0 +msgid "`expression`" +msgstr "`expression`" + +#: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c +msgid "" +"From " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"来自 " +"[InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" 和 " +"[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/expressions.md:95 32b1a39cca1a4402af9bdc0abc4d70c8 +msgid "" +"From " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"来自 " +"[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 2518d499801e4bcf82e9e4666280504d +#: 98a511d138e9497c923963c2ca5f0a0b +msgid "`coresMin`" +msgstr "`coresMin`" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b +#: e84bc5505a6549ae9aacde8cb9225403 +msgid "`coresMax`" +msgstr "`coresMax`" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 +#: e698ea756fe94e99837312fb30c9f9bf +msgid "`ramMin`" +msgstr "`ramMin`" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 +#: bef90c153d4f4397b1f69f9beb38f7e6 +msgid "`ramMax`" +msgstr "`ramMax`" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd +#: e2bdf4fe676346cbb4443ee54fb7419b +msgid "`tmpdirMin`" +msgstr "`tmpdirMin`" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 +#: 8f1665baca2e4e3b96026b50d132709a +msgid "`tmpdirMax`" +msgstr "`tmpdirMax`" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 +#: d169949866a24e31947dffcb94620c5f +msgid "`outdirMin`" +msgstr "`outdirMin`" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 +msgid "`outdirMax`" +msgstr "`outdirMax`" + +#: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc +msgid "" +"From " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"来自 " +"[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 21e9582891cf4b87a7ee4693663040fa 51bc6d1ccef14729a0d5e63b56d73d20 +msgid "`listing`" +msgstr "`listing`" + +#: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "来自 [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: 29c2424fc7dc43e68c9bfee179167bb3 30f25141bcce4670882e4a5bbe4fc3e2 +msgid "`entry`" +msgstr "`entry`" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 +msgid "`entryname`" +msgstr "`entryname`" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 +msgid "From `EnvVarRequirement`" +msgstr "来自 `EnvVarRequirement`" + +#: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f +msgid "" +"From " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"来自 " +"[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 242a12ec757947db894195c9aefba818 7b26b9972f7141bf950b3bb024b0e369 +msgid "`envValue`" +msgstr "`envValue`" + +#: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "通过 `expressionLib` 使用外部库和内联 JavaScript 代码" + +#: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +msgid "" +"The requirement " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" +" supports an `expressionLib` attribute that allows users to load external" +" JavaScript files, or to provide inline JavaScript code." +msgstr "" +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InlineJavascriptRequirement) 这一需求支持 `expressionLib` 属性," +"可以让用户加载外部 JavaScript 文件或提供内联 JavaScript 代码。" + +#: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +msgid "" +"Entries added to the `expressionLib` attribute are parsed with the " +"JavaScript engine of a CWL runner. This can be used to include external " +"files or to create JavaScript functions that can be called in other parts" +" of the CWL document." +msgstr "" +"添加到 `expressionLib` 属性的条目将由 CWL 运行程序的 JavaScript " +"引擎进行语法分析。这可以用来纳入外部文件中的代码,或创建可在 CWL 文件其他部分调用的 JavaScript 函数。" + +#: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 +msgid "" +"The CWL standards (versions 1.0 through 1.2) " +"[states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions)" +" that the only version of JavaScript valid in CWL expressions is " +"[ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means " +"that any code that you include or write in your CWL Document must be " +"compliant with ECMAScript 5.1." +msgstr "" +"版本 1.0 到 1.2 的 CWL " +"标准中[写道](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions),在" +" CWL 表达式中唯一有效的 JavaScript 版本是 [ECMAScript 5.1](https://262.ecma-" +"international.org/5.1/) . 也就是说,在 CWL 文件中纳入或写入的所有 JS 代码都必须符合该版本。" + +#: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe +msgid "" +"For example, we can use `InlineJavascriptRequirement` and write a " +"JavaScript function inline in `expressionLib`. That function can then be " +"used in other parts of the CWL document:" +msgstr "" +"例如,我们可以使用 `InlineJavascriptRequirements`, 在 `expressionLib` 下编写内联 " +"JavaScript 函数,让它能在 CWL 文件其他部分调用:" + +#: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "`hello-world-expressionlib-inline.cwl`" + +#: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 +msgid "" +"Running this CWL workflow will invoke the JavaScript function and result " +"in the `echo` command printing the input message with capital initial " +"letters:" +msgstr "运行此 CWL 工作流将调用这个 JavaScript 函数,使得 `echo` 命令以大写首字母排印输入的“报文”:" + +#: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "运行 `hello-world-expressionlib-inline.cwl`." + +#: ../../src/topics/expressions.md:155 1a4dfef06b5c4402bdb7e7dbd79eeb5d +msgid "" +"Let's move the `capitalizeWords` function to an external file, `custom-" +"functions.js`, and import it in our CWL document:" +msgstr "我们来将 `capitalizeWords` 函数移动到外部文件 `custom-functions.js`, 并将它导入我们的 CWL 文件:" + +#: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 +msgid "`custom-functions.js`" +msgstr "`custom-functions.js`" + +#: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "`hello-world-expressionlib-external.cwl`" + +#: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +msgid "" +"The `custom-functions.js` file is included in the CWL document with the " +"`$include: custom-functions.js` statement. That makes the functions and " +"variables available to be used in other parts of the CWL document." +msgstr "" +"文件 `custom-functions.js` 通过 `$include: custom-functions.js` 语句纳入到这个 CWL " +"文件里,使这个 JavaScript 文件中定义的函数和变量可在 CWL 文件其他部分使用。" + +#: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "运行 `hello-world-expressionlib-external.cwl`." + +#: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +msgid "" +"Finally, note that you can have both inline and external JavaScript code " +"in your CWL document. In this final example we have added another entry " +"to the `expressionLib` attribute with the new function " +"`createHelloWorldMessage`, that calls the `capitalizeWords` function from" +" the external file `custom-functions.js`." +msgstr "" +"最后请注意,CWL 文件中可以同时运用内联和外部 JavaScript 代码。下面是最后一个例子,这里我们向 `expressionLib` " +"属性中加入新函数 `createHelloWorldMessage`, 调用外部文件 `custom-functions.js` 中的 " +"`capitalizeWords` 函数。" + +#: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c +msgid "`hello-world-expressionlib.cwl`" +msgstr "`hello-world-expressionlib.cwl`" + +#: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "运行 `hello-world-expressionlib.cwl`." + +#: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 +msgid "" +"The `$include` statement can be used to include a file from the local " +"disk or from a remote location. It works with both relative and absolute " +"paths. Read the [text about " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " +"the CWL specification to learn more about it." +msgstr "" +"`$include` 语句可以用来添加位于本地或远程的文件,并且接受相对路径和绝对路径。详情请参见 CWL 规约中[关于 " +"`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) 的内容。" + +#: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 +msgid "File Formats" +msgstr "文件格式" + +#: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +msgid "" +"Tools and workflows can take " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " +"and produce them as output. We also recommend indicating the format for " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This " +"helps document for others how to use your tool while allowing you to do " +"some simple type-checking when creating parameter files." +msgstr "" +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) " +"类型既可作为工具和工作流的输入,也可以成为它们生成的输出。另外,我们建议指明 " +"[`File`](https://w3id.org/cwl/CommandLineTool.html#File) 类型的格式,以便向他" +"人说明您的工具如何使用,同时还能让您在创建参数文件时进行简单的类型检验。" + +#: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 +msgid "" +"For file formats, we recommend referencing existing ontologies (like EDAM" +" in our example), reference a local ontology for your institution, or do " +"not add a file format initially for quick development before sharing your" +" tool with others. You can browse existing [IANA file format " +"listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" +"对于文件格式,我们建议参考现有本体(如示例中的 " +"EDAM)或您所在机构内部使用的本体,不然,则在与他人共享工具之前不要先添加文件格式,以便快速开发。您可以通过网站浏览现有的 " +"[IANA][IANA] 和 [EDAM 文件格式列表][EDAM]。" + +#: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 +msgid "" +"In the next tutorial, we explain the `$namespaces` and `$schemas` " +"section of the document in greater detail, so don't worry about these for" +" now." +msgstr "我们将在下一篇教程中更详细地解释文件中的 `$namespaces` 和 `$schemas` 部分,眼下无需为此分心。" + +#: ../../src/topics/file-formats.md:17 c04841dbf4be4cf8a22cceca8b08bd14 +msgid "" +"Note that for added value `cwltool` can do some basic reasoning based on " +"file formats and warn you if there seem to be some obvious mismatches." +msgstr "请注意, `cwltool` 有一项附加功能,即依据文件格式做一些初步推断,一旦出现较明显的不匹配则发出警告。" + +#: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e +msgid "`metadata_example.cwl`" +msgstr "`metadata_example.cwl`" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: 20e97d58596a4a959ad76ec6128ac414 4e070ae9110d437bbf008b0c60a00cd5 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "这一 CWL 描述的等效命令行形式为:" + +#: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 +msgid "Sample Parameter Files" +msgstr "参数文件样本" + +#: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 +msgid "" +"Below is an example of a parameter file for the example above. We " +"encourage checking in working examples of parameter files for your tool. " +"This allows others to quickly work with your tool, starting from a " +"\"known good\" parameterization." +msgstr "以上例子的样本参数文件见下。我们提倡为您的工具加入经您测试可用的参数文件样例,这将帮助他人从做好的“合格品”参数文件入手,更快地上手操作您的工具。" + +#: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 +msgid "`sample.yml`" +msgstr "`sample.yml`" + +#: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 +msgid "" +"___Note:___ To follow the example below, you need to download the example" +" input file, *file-formats.bam*. The file is available from " +" and can be downloaded e.g. via `wget`:" +msgstr "" +"___注意:___ 按照下例演练前,您需要先下载示例输入文件 *file-formats.bam*. 该文件位于 " +", 可以用 `wget` 等工具下载:" + +#: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 +msgid "Topics" +msgstr "主题" + +#: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 +msgid "Inputs" +msgstr "输入 (inputs)" + +#: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 +msgid "Essential Input Parameters" +msgstr "基本输入参数" + +#: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 +msgid "" +"The `inputs` of a tool is a list of input parameters that control how to " +"run the tool. Each parameter has an `id` for the name of parameter, and " +"`type` describing what types of values are valid for that parameter." +msgstr "" +"工具的 `inputs`(输入)用于列出控制工具运行方式的输入参数。每个参数都包含 `id` 字段作为名称,以及 `type` " +"字段描述有效参数值的类型。" + +#: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb +msgid "" +"Available primitive types are *string*, *boolean*, *int*, *long*, " +"*float*, *double*, and *null*; complex types are *array* and *record*; in" +" addition there are special types *File*, *Directory* and *Any*." +msgstr "" +"可用的原始类型有 " +"*string*(字符串)、*boolean*(布尔变量)、*int*(整型)、*long*(长整型)、 " +"*float*(浮点数)、*double*(双精度浮点数)以及 *null*(空)等;" +"复合类型指的是 *array*(数组)和 *record*(记录);此外还有特殊类型 " +"*File*(文件)、*Directory*(目录)以及 *Any*(任意)等。" + +#: ../../src/topics/inputs.md:13 fbdf2c1bed3e41d7a41ec6b14d134a98 +msgid "" +"The following example demonstrates some input parameters with different " +"types and appearing on the command line in different ways." +msgstr "下面的例子展示了一些类型各异、以不同方式出现在命令行上的输入参数。" + +#: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "首先,创建一个名为 `inp.cwl` 的文件,包含以下内容:" + +#: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb +msgid "`inp.cwl`" +msgstr "`inp.cwl`" + +#: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b +msgid "Create a file called `inp-job.yml`:" +msgstr "创建名为 `inp-job.yml` 的文件:" + +#: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 +msgid "`inp-job.yml`" +msgstr "`inp-job.yml`" + +#: ../../src/topics/inputs.md:33 9cc4a60d01f945aa9b4c43afcf20098b +msgid "" +"You can use `cwltool` to create a template input object. That saves you " +"from having to type all the input parameters in an input object file:" +msgstr "您可以用 `cwltool` 创建模板输入对象,以免在输入对象文件中写入全部输入参数:" + +#: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 +msgid "" +"You can redirect the output to a file, i.e. `cwltool --make-template " +"inp.cwl > inp-job.yml`, and then modify the default values with your " +"desired input values." +msgstr "" +"您可将输出重定向到一个文件:`cwltool --make-template inp.cwl > inp-" +"job.yml`,然后将生成的默认值改为您想要的输入值。" + +#: ../../src/topics/inputs.md:44 6a3edb0d259d4d7c900dd9811f978d4e +msgid "" +"Notice that \"example_file\", as a `File` type, must be provided as an " +"object with the fields `class: File` and `path`." +msgstr "注意,“example_file” 属于 `File`(文件)类型,因此必须作为含有 `class: File` 和 `path` 字段的对象出现。" + +#: ../../src/topics/inputs.md:47 f1d76be7ba0b48f4b605581d0a9a5c72 +msgid "" +"Next, create a whale.txt using [touch] by typing `touch whale.txt` on the" +" command line." +msgstr "然后,在命令行键入 `touch whale.txt`, 用 [touch] 命令创建文件 whale.txt." + +#: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d +msgid "" +"Now invoke `cwltool` with the tool description and the input object on " +"the command line, using the command `cwltool inp.cwl inp-job.yml`. The " +"following boxed text describes these two commands and the expected output" +" from the command line:" +msgstr "" +"现在,使用 `cwltool inp.cwl inp-job.yml` 命令,即指定工具描述和输入对象、通过命令行调用 `cwltool`. " +"下方文本框描述了这两个命令及命令行的预期输出:" + +#: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 +msgid "" +"The CWL reference runner (cwltool) and other runners create temporary " +"directories with symbolic (\"soft\") links to your input files to ensure " +"that the tools aren't accidentally accessing files that were not " +"explicitly specified" +msgstr "" +"CWL 参考运行程序 (cwltool) " +"和其他运行程序会建立临时目录,在其中创建指向您文件的符号链接(又称“软”链接),以防工具意外访问未经明文指定的文件" + +#: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 +msgid "" +"The field " +"[`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding)" +" is optional and indicates whether and how the input parameter should " +"appear on the tool's command line. If `inputBinding` is missing, the " +"parameter does not appear on the command line. Let's look at each " +"example in detail." +msgstr "" +"字段 [`inputBinding`](https://w3id.org/cwl/CommandLineTool." +"html#Input_binding) " +"为可选项,用来说明该输入参数是否应出现在工具的命令行上、以何种方式出现。 " +"如果没有 `inputBinding`, 则该参数不会出现在命令行上。 " +"我们来仔细看看每个示例。" + +#: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 +msgid "" +"Boolean types are treated as a flag. If the input parameter " +"\"example_flag\" is \"true\", then `prefix` will be added to the command " +"line. If false, no flag is added." +msgstr "" +"布尔类型的处理相当于一种“旗标”。如果输入参数“example_flag”为“true”(真),则 `prefix` " +"会被添加到命令行,否则将不添加旗标。" + +#: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d +msgid "" +"String types appear on the command line as literal values. The `prefix` " +"is optional, if provided, it appears as a separate argument on the " +"command line before the parameter . In the example above, this is " +"rendered as `--example-string hello`." +msgstr "" +"字符串类型以字面值 (literal value) 的方式出现在命令行上。 `prefix` " +"是可选的;如果提供,它将作为单独的参数,在命令行上出现在参数值之前。上例中,相应的结果是 `--example-string hello`." + +#: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 +msgid "" +"Integer (and floating point) types appear on the command line with " +"decimal text representation. When the option `separate` is false (the " +"default value is true), the prefix and value are combined into a single " +"argument. In the example above, this is rendered as `-i42`." +msgstr "" +"整型和浮点型以其十进制表示,作为文本出现在命令行上。 若选项 `separate` 为 false(伪,默认为 true " +"真),前缀将和它的值合并为一个参数。上例中,其产物为 `-i42`." + +#: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 +msgid "" +"File types appear on the command line as the path to the file. When the " +"parameter type ends with a question mark `?` it indicates that the " +"parameter is optional. In the example above, this is rendered as " +"`--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" " +"parameter were not provided in the input, nothing would appear on the " +"command line." +msgstr "" +"文件类型在命令行上以文件路径的方式出现。参数类型末尾如有问号 `?` 意指该参数为可选。上例中,这一部分的命令行产物是 " +"`--file=/tmp/random/path/whale.txt`. " +"不过,如果输入中未提供“example_file”参数,则不会在命令行上加入任何内容。" + +#: ../../src/topics/inputs.md:131 9294c07c672b414f9c3895ed70b9b4ee +msgid "" +"Input files are read-only. If you wish to update an input file, you must" +" [first copy it to the output directory](staging-input-files.md)." +msgstr "输入文件是只读的。 如果要更新输入文件,必须将它[事先复制到输出目录](staging-input-files.md)。" + +#: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f +msgid "" +"The value of `position` is used to determine where parameter should " +"appear on the command line. Positions are relative to one another, not " +"absolute. As a result, positions do not have to be sequential, three " +"parameters with positions 1, 3, 5 will result in the same command line as" +" 1, 2, 3. More than one parameter can have the same position (ties are " +"broken using the parameter name), and the position field itself is " +"optional. The default position is 0." +msgstr "" +"`position`(位置)的值用于指定参数在命令行上应出现的位置 — " +"并非绝对位置,而是彼此间的相对顺序。这意味着,位置值不一定要连续;`position` 值为 1、3、5 的三个参数生成的命令行将与其值分别为 " +"1、2、3 时相同。 多个参数可能有相同的 `position` 值(这种情况下由参数名进一步决定顺序),而且 `position` " +"字段本身是可选的。 默认的位置是0." + +#: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 +msgid "" +"The `baseCommand` field will always appear in the final command line " +"before the parameters." +msgstr "`baseCommand` 字段一定会出现在最终生成的命令行中,而且位于所有参数之前。" + +#: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f +msgid "Array Inputs" +msgstr "数组输入" + +#: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 +msgid "" +"It is easy to add arrays of input parameters represented to the command " +"line. There are two ways to specify an array parameter. First is to " +"provide `type` field with `type: array` and `items` defining the valid " +"data types that may appear in the array. Alternatively, brackets `[]` may" +" be added after the type name to indicate that input parameter is array " +"of that type." +msgstr "" +"将以数组形式出现的参数添加至命令行很简单。指定数组参数有两种办法。第一种是在 `type` 字段下给出 `type: array`, 并且用 " +"`items` 定义数组中允许出现的有效数据类型。另一种办法,是在类型的名称后添加方括号 `[]`,以表明输入参数为此类型的数组。" + +#: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 +msgid "`array-inputs.cwl`" +msgstr "`array-inputs.cwl`" + +#: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f +msgid "`array-inputs-job.yml`" +msgstr "`array-inputs-job.yml`" + +#: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 +#: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 +#: 390384208d7b4771888f164b587c7b9a edb3ae59c48945f29c3086b16a5265d3 +msgid "" +"Now invoke `cwltool` providing the tool description and the input object " +"on the command line:" +msgstr "现在,调用命令 `cwltool` 并为它提供工具描述和输入对象:" + +#: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 +msgid "" +"The `inputBinding` can appear either on the outer array parameter " +"definition or the inner array element definition, and these produce " +"different behavior when constructing the command line, as shown above. In" +" addition, the `itemSeparator` field, if provided, specifies that array " +"values should be concatenated into a single argument separated by the " +"item separator string." +msgstr "" +"`inputBinding` " +"既可以出现在外部,即数组参数本身的定义中,也可以出现在内部,即数组元素的定义中。如上所示,这两种定义方式在构建命令行时所产生的行为是不一样的。另外,`itemSeparator`(项目分隔符)字段如果出现,则指明数组各元素的值应并入单独的一个参数,以指定的项目分隔符插入相邻的元素值之间。" + +#: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df +msgid "" +"Note that the arrays of inputs are specified inside square brackets `[]` " +"in `array-inputs-job.yml`. Arrays can also be expressed over multiple " +"lines, where array values that are not defined with an associated key are" +" marked by a leading `-`. This will be demonstrated in the next lesson " +"and is discussed in more detail in the [YAML Guide](yaml-" +"guide.md#arrays). You can specify arrays of arrays, arrays of records, " +"and other complex types." +msgstr "" +"请注意,在 `array-inputs-job.yml` 中,数组输入由方括号 `[]` 指定。表达数组的另一种形式是多行句法,即用行首的 `-`" +" 标明数组元素,示意它并非键值。下一课中将演示后一种用法,在[《YAML 指南》](yaml-guide.md#arrays) " +"中也有详细讨论。可以指定的数组包括数组的数组、记录的数组及其他复合类型的数组。" + +#: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 +msgid "Inclusive and Exclusive Inputs" +msgstr "相容和互斥输入" + +#: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 +msgid "" +"Sometimes an underlying tool has several arguments that must be provided " +"together (they are dependent) or several arguments that cannot be " +"provided together (they are exclusive). You can use records and type " +"unions to group parameters together to describe these two conditions." +msgstr "" +"有时,基础工具具有多个必须一起提供的参数(它们是相互依赖的)或多个不能一起提供的参数(它们是互斥的)。 您可以使用记录类型或共用体 (union)" +" 类型将参数加以组合,以分别描述这两种情况。" + +#: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 +msgid "`record.cwl`" +msgstr "`record.cwl`" + +#: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 +msgid "`record-job1.yml`" +msgstr "`record-job1.yml`" + +#: ../../src/topics/inputs.md:215 ecfb1d911a84400ba3db12fd0adf9279 +msgid "" +"In the first example, you can't provide `itemA` without also providing " +"`itemB`." +msgstr "在第一个示例中,一旦提供 `itemA` 就必须同时提供 `itemB`." + +#: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff +msgid "`record-job2.yml`" +msgstr "`record-job2.yml`" + +#: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba +msgid "" +"In the second example, `itemC` and `itemD` are exclusive, so only the " +"first matching item (`itemC`) is added to the command line and remaining " +"item (`itemD`) is ignored." +msgstr "" +"在第二个示例中,`itemC` 和 `itemD` 是互斥的。因此,只有第一个匹配项 (`itemC`) 会添加到命令行,而余下的 " +"(`itemD`) 将被忽略。" + +#: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 +msgid "`record-job3.yml`" +msgstr "`record-job3.yml`" + +#: ../../src/topics/inputs.md:252 e6d81d6549984689bae4533c6d01bd5b +msgid "" +"In the third example, only `itemD` is provided, so it appears on the " +"command line." +msgstr "在第三个示例中,仅提供了 `itemD`, 因此它出现在命令行上。" + +#: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 +msgid "Exclusive Input Parameters with Expressions" +msgstr "互斥输入参数与表达式" + +#: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b +msgid "" +"If you use exclusive input parameters and reference them in expressions, " +"you need to be aware that the `inputs` JavaScript object will contain one" +" of the possible, mutually-exclusive input values. Because the types of " +"these exclusive values may differ, you may need to check which type is in" +" use when you reference the properties of the `input` object." +msgstr "" +"将互斥的输入参数与表达式结合使用时,需要注意 `inputs` 这个 JavaScript " +"对象可能包含互斥输入值中的任何一个。因为这些互斥值可能属于不同类型," +"您可能需要在引用 `input` 对象的属性时检查实际出现的是哪一类型。" + +#: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 +msgid "" +"Let's use an example that contains an exclusive `file_format` input " +"parameter that accepts `null` (i.e. no value provided), or any value from" +" an enum." +msgstr "" +"我们来看一个例子,其中 `file_format` 输入参数的取值是互斥的。该参数接受 " +"`null`(即未提供任何值),或一个特定的枚举类型所包括的值。" + +#: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "`exclusive-parameter-expressions.cwl`" + +#: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +msgid "" +"Note how the JavaScript expression uses the value of the exclusive input " +"parameter without taking into consideration a `null` value. If you " +"provide a valid value, such as `fasta` (one of the possible values of the" +" enum), your command should execute successfully:" +msgstr "" +"请注意,这里的 JavaScript 表达式用到了互斥输入参数的值,但没有考虑到出现空值 " +"`null` 的情况。如果提供的值有效,比如 " +"`fasta`(枚举中的一个值),命令将会成功执行:" + +#: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +msgid "" +"However, if you do not provide any input value, then `file_format` will " +"be evaluated to `null`, which does not match the expected type for the " +"output field (a `string`), resulting in failure when running your " +"workflow." +msgstr "" +"但是,如果未提供任何输入值,则 `file_format` 的值为 `null`, " +"从而不符合输出字段的预期类型(字符串 `string`),导致工作流运行失败。" + +#: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 +msgid "" +"To correct it, you should explicitly handle the possibility of a `null` " +"value. For example, the expression could be changed to " +"`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " +"none was provided in the command line or job input file." +msgstr "" +"为了修正这个问题,需要专门处理出现 `null` 空值的情形。例如,表达式可以修改为 " +"`$(inputs.file_format || 'auto')`, " +"从而在命令行或作业输入文件未提供值的情况下有默认值 `\"auto\"` 可用。" + +#: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 +msgid "" +"Here, the boolean “or” operator `||` in JavaScript is used for its " +"_short-circuiting_ property. If `inputs.file_format` is “true” in a " +"boolean context (e.g. a valid non-empty string from the enum), the " +"evaluation of the expression stops at the first operand of `||`; it " +"“short-circuits”. If however `inputs.file_format` is `null`, the whole " +"expression’s value becomes that of the second operand, which is why a " +"reasonable default can be provided there." +msgstr "" +"这里,我们要使用的是 JavaScript 中布尔“或”运算符 `||` 的“短路”特点。如果 " +"`inputs.file_format` 为布尔意义上的“真值”(例如来自枚举的有效、非空字符串)," +"这个表达式的计值过程到 `||` 运算符前的操作数就终止,也就是“短路”了。反之," +"如果 `inputs.file_format` 为 `null`, " +"则该表达式整体的值就等于后一个操作数,因此这里可以用来安放合理的默认值。" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: 723c2232310c4276aeac2bd6728d2912 +msgid "Metadata and Authorship" +msgstr "元数据和著作人信息" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: 4d81aac1830045229e5c60c7959074d8 +msgid "" +"Implementation extensions not required for correct execution (for " +"example, fields related to GUI presentation) and metadata about the tool " +"or workflow itself (for example, authorship for use in citations) may be " +"provided as additional fields on any object. Such extensions fields (e.g." +" `format: edam:format_2572`) can use a namespace prefix listed in the " +"`$namespaces` section of the document (e.g. edam: " +"http://edamontology.org/)%20as%20described%20in%20the%20[Schema%20Salad%20specification" +"][schema-salad]. Once you add the namespace prefix, you can access it " +"anywhere in the document as shown below. Otherwise, one must use full " +"URLs: `format: http://edamontology.org/format_2572`." +msgstr "" +"由某个实现所提供的非必需、不影响正确执行的扩展(如关于图形界面中展示的字段),以及关于工具或工作流本身的元数据(如用于引文的作者信息),都可以作为任意对象的附加字段提供。这种扩展字段(形如" +" `format: edam:format_2572`)可以使用文件 `$namespaces`(命名空间)部分依照 [Schema Salad " +"规约][schema-salad]的要求列举的命名空间前缀(例如 " +"`edam:http://edamontology.org/`)。如下所示,一旦添加了命名空间前缀,便可在文档的任何位置使用它。否则,必须使用完整的" +" URL: `format: http://edamontology.org/format_2572`." + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 368f8993ae9d401488081d74ae5acd49 +msgid "" +"For all developers, we recommend the following minimal metadata for your " +"tool and workflows. This example includes metadata allowing others to " +"cite your tool." +msgstr "我们建议所有的开发者为自己编写的工具和工作流提供类似下面所示的精简版元数据。此例中的元数据向他人说明如何在文献中引用你的工具。" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: c80f2b180ca74afb8a1fc18f8686304b +msgid "`metadata_example2.cwl`" +msgstr "`metadata_example2.cwl`" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: 37b07ea9b7124842b8ba3040f70308e9 +msgid "Extended Example" +msgstr "进一步扩展的例子" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: 1cd5989ade6741aabe625c13bed3c8ed +msgid "" +"For those that are highly motivated, it is also possible to annotate your" +" tool with a much larger amount of metadata. This example includes EDAM " +"ontology tags as keywords (allowing the grouping of related tools), hints" +" at hardware requirements in order to use the tool, and a few more " +"metadata fields." +msgstr "" +"如果您积极性更高,也可以加入更多的元数据来注释工具。此例中加入了 EDAM " +"本体标签作为关键字(以便将彼此关联的工具分组)、关于硬件要求的软性提示,以及其他元数据字段。" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: ae7369ba14404d23b72d1ef30dcd4153 +msgid "`metadata_example3.cwl`" +msgstr "`metadata_example3.cwl`" + +#: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 +msgid "Operations" +msgstr "抽象操作" + +#: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e +msgid "" +"An Operation is a type of CWL process, just like a workflow, a command-" +"line tool, or an expression tool. It is a step of a workflow that " +"specifies inputs and outputs, but it does not provide enough information " +"to be executed." +msgstr "" +"抽象操作 (Operation) 与工作流、命令行工具或表达式工具类似,是一种 CWL " +"流程。作为工作流中的一个步骤,它可以指定输入和输出,但不完全提供具体执行所需的信息。" + +#: ../../src/topics/operations.md:7 047b09455db64524a71c47ab5192039f +msgid "" +"You can create operations to visualize a workflow during development, " +"before you are ready to submit the workflow to a CWL runner:" +msgstr "在开发周期中,工作流准备就绪、可以提交给 CWL 运行程序之前,您可以创建抽象操作,将工作流可视化:" + +#: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 +msgid "`operations.cwl`" +msgstr "`operations.cwl`" + +#: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 +msgid "" +"The `uppercase` step of the workflow is an operation. It can appear where" +" a command line tool or an expression is expected. You can also plot it " +"with the CWL Viewer or `cwltool`:" +msgstr "" +"工作流中的 `uppercase` " +"步骤是一个操作,可以出现在命令行工具或表达式能出现的任何位置。您还可以用 CWL " +"Viewer 或 `cwltool` 将它绘制出来:" + +#: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 +msgid "" +"The output of the command above can be rendered with a Graphviz renderer." +" The following image is rendered with the Sphinx `{graphviz}` directive " +"(this user guide is built with Sphinx):" +msgstr "" +"以上命令的输出可用 Graphviz 渲染出来。下面的图片是使用 Sphinx 的 `{graphviz}`" +" 指令来渲染的(本《用户指南》就是用 Sphinx 编译的):" + +#: ../../src/topics/operations.md:56 c07e3ff02ac14ffb89bcbd1b30f3f3fd +msgid "" +"The operation file will fail to run with `cwltool` because `cwltool` " +"lacks the necessary information to execute it:" +msgstr "用 `cwltool` 运行该操作文件将会失败,因为 `cwltool` 缺少执行所需的必要信息:" + +#: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf +msgid "`cwltool` does not know how to run operations" +msgstr "`cwltool` 不知道如何运行抽象操作" + +#: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 +msgid "" +"CWL runners may come up with ways to bind operations to concrete steps. A" +" CWL runner could, for instance, use abstract operations with ID's that " +"correspond to steps executed by a different workflow engine." +msgstr "CWL 运行程序可能安排一些将抽象操作绑定到具体步骤的方法。例如,带有 ID 的抽象操作有可能对映到其他工作流引擎中执行的步骤。" + +#: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 +msgid "Outputs" +msgstr "输出" + +#: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be +msgid "Returning Output Files" +msgstr "返回输出文件" + +#: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 +msgid "" +"The `outputs` of a tool is a list of output parameters that should be " +"returned after running the tool. Each parameter has an `id` for the name" +" of parameter, and `type` describing what types of values are valid for " +"that parameter." +msgstr "" +"某个工具的 ` outputs `(输出)项是运行该工具后应返回的输出参数列表。 每个参数都有一个代表其名称的 " +"`id`字段,以及描述其有效值类型的 `type` 字段。" + +#: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b +msgid "" +"When a tool runs under CWL, the starting working directory is the " +"designated output directory. The underlying tool or script must record " +"its results in the form of files created in the output directory. The " +"output parameters returned by the CWL tool are either the output files " +"themselves, or the result of examining the content of those files." +msgstr "" +"工具在 CWL 下运行时,起始工作目录即指定输出目录。 " +"基础工具或脚本要记录运行结果,必须以输出目录下文件的形式实现。 CWL " +"工具返回的输出参数要么是输出文件本身,要么是分析这些文件的内容而得出的信息。" + +#: ../../src/topics/outputs.md:16 9845e517f7d848e5b59a97880ca6999f +msgid "" +"The following example demonstrates how to return a file that has been " +"extracted from a tar file." +msgstr "下例演示怎样返回从 tar 文件中提取的文件。" + +#: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "将必要参数传递给 `baseCommand`" + +#: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b +msgid "" +"In previous examples, the `baseCommand` was just a string, with any " +"arguments passed as CWL inputs. Instead of a single string, we can use an" +" _array of strings_ as the value of `baseCommand`. The first element of " +"the array is the command to run, and any subsequent elements are " +"mandatory command line arguments" +msgstr "" +"在此前的例子里,`baseCommand` 命令只是一个字符串,命令的参数都由 CWL " +"输入传递而来。不过,我们也可以用“字符串数组”作为 `baseCommand` " +"的值。数组的第一个元素是将要运行的命令,其后的元素均为命令行的必要参数" + +#: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 +msgid "`tar.cwl`" +msgstr "`tar.cwl`" + +#: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 +msgid "`tar-job.yml`" +msgstr "`tar-job.yml`" + +#: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f +msgid "Next, create a tar file for the example." +msgstr "接下来,新建一个 tar 文件供本示例使用。" + +#: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 +msgid "" +"And now invoke `cwltool` with the tool description and the input object " +"on the command line:" +msgstr "现在,在命令行上结合工具描述和输入对象运行 `cwltool`:" + +#: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 +msgid "" +"The field " +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" +" describes how to set the value of each output parameter." +msgstr "" +"[`outputBinding`](https://w3id.org/cwl/CommandLineTool." +"html#CommandOutputBinding) 字段描述如何设置每个输出参数的值。" + +#: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 +msgid "" +"The " +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) " +"field consists of the pattern to match file names in the output " +"directory. This can simply be the file's exact name. But if you don't " +"know the name of the file in advance, you can use a wildcard pattern like" +" `glob: '*.txt'`." +msgstr "" +"[`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) 字段" +"包含可匹配输出目录中文件名的模式。这可以是确切的文件名,不过如果事先不知道文" +"件名,还可以使用通配符,如 `glob: '*.txt'`." + +#: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 +msgid "Capturing Standard Output" +msgstr "捕获标准输出" + +#: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 +msgid "" +"To capture a tool's standard output stream, add the " +"[`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with " +"the name of the file where the output stream should go. Then add `type: " +"stdout` on the corresponding output parameter." +msgstr "" +"要捕获工具的标准输出流,请添加 [`stdout`](https://w3id.org/cwl/" +"CommandLineTool.html#stdout) 字段,配上输出流应定向到的文件名。 然后," +"给相应的输出参数添加 `type: stdout` 字段。" + +#: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b +msgid "`stdout.cwl`" +msgstr "`stdout.cwl`" + +#: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe +msgid "Array Outputs" +msgstr "数组输出" + +#: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 +msgid "" +"You can also capture multiple output files into an array of files using " +"`glob`." +msgstr "您也可以用 `glob` 将多个输出文件捕获至一个文件数组。" + +#: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c +msgid "`array-outputs.cwl`" +msgstr "`array-outputs.cwl`" + +#: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 +msgid "`array-outputs-job.yml`" +msgstr "`array-outputs-job.yml`" + +#: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 +msgid "" +"As described in the [YAML Guide](yaml-guide.md#arrays), the array of " +"expected outputs is specified in `array-outputs-job.yml` with each entry " +"marked by a leading `-`. This format can also be used in CWL descriptions" +" to mark entries in arrays, as demonstrated in several of the upcoming " +"sections." +msgstr "" +"如[《YAML 指南》](yaml-guide.md#arrays)中所述,`array-outputs-job.yml` 文件中行首为 `-` " +"的成员代表数组元素,用以指明我们期待的各个输出。这种格式还可以用在 CWL 描述中表示数组成员。接下来若干章节中会演示这一用法。" + +#: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b +msgid "Parameter References" +msgstr "参数引用" + +#: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 +msgid "" +"In a previous example, we extracted a file using the \"tar\" program. " +"However, that example was very limited because it assumed that the file " +"we were interested in was called \"hello.txt\", and this was written into" +" the `.cwl` file. This is not the best way to do this, as the " +"\"hello.txt\" filename may vary or be dependent on the input file(s) " +"used. To avoid this we can specify the name of the file we want in the " +"job parameters file (`.yml`). In this example, you will see how to " +"reference the value of input parameters dynamically from other fields, " +"which will allow us to then specify the name of the file to extract." +msgstr "" +"在前面的例子中,我们使用 “tar” 程序提取了一个文件。但是,该示例局限性很强,因为它假定了我们感兴趣的文件名就是 “hello.txt”, " +"而且这种假设直接写入了 `.cwl` 代码文件里。这种做法有欠妥当,因为文件名 “hello.txt” " +"可能会改变,也可能依赖我们实际用到的输入文件。 为了避免这类情况,我们可以在作业参数 (`.yml`) " +"文件中指定我们想要的文件名。本示例将演示如何从其他字段动态引用输入参数值,以便指定待提取的文件名。" + +#: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 +msgid "`tar-param.cwl`" +msgstr "`tar-param.cwl`" + +#: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 +msgid "`tar-param-job.yml`" +msgstr "`tar-param-job.yml`" + +#: ../../src/topics/parameter-references.md:25 9b1e2f1a23ea4fe2af97ef5108f33376 +msgid "" +"Create your input files and invoke `cwltool` with the tool description " +"and the input object on the command line:" +msgstr "创建输入文件,然后以工具描述和输入对象为命令行参数调用 `cwltool`:" + +#: ../../src/topics/parameter-references.md:36 06926a516ae6432d96e3eaa62202cd86 +msgid "" +"Certain fields permit parameter references which are enclosed in " +"`$(...)`. These are evaluated and replaced with value being referenced." +msgstr "某些字段允许出现用 `$(...)` 符号括起来的参数引用,由求值的结果代入。" + +#: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 +msgid "" +"References are written using a subset of Javascript syntax. In this " +"example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " +"`$(inputs['extractfile'])` are equivalent." +msgstr "" +"引用的编写用的是 JavaScript 语法的一个子集。 " +"本例中,`$(inputs.extractfile)`、`$(inputs[\"extractfile\"])` 和 " +"`$(inputs['extractfile'])` 效果相同。" + +#: ../../src/topics/parameter-references.md:51 56ead1c8d45c43bdbcbc6f7cbb8e1e92 +msgid "" +"The value of the \"inputs\" variable is the input object provided when " +"the CWL tool was invoked." +msgstr "“inputs” 变量的取值为 CWL 工具被调用时获得的输入对象。" + +#: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d +msgid "" +"Note that because `File` parameters are objects, to get the path to an " +"input file you must reference the path field on a file object; to " +"reference the path to the tar file in the above example you would write " +"`$(inputs.tarfile.path)`." +msgstr "" +"请注意,由于 `File`(文件)参数是对象。因此,要获取输入文件的路径,须引用文件对象上的“path”(路径)字段。例如,要引用上面例子中 " +"tar 文件的路径,则需要写为 `$(inputs.tarfile.path)`." + +#: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 +msgid "Where are parameter references allowed?" +msgstr "参数引用可以出现在哪些地方?" + +#: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 +msgid "You can only use parameter references in certain fields. These are:" +msgstr "参数引用只能出现在有限的字段中,即:" + +#: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 +msgid "" +"From " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" +"来自 " +"[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" + +#: ../../src/topics/parameter-references.md:69 f592619e4b2c497e80cd75da0548cf07 +msgid "" +"From " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" +"来自 " +"[CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" + +#: ../../src/topics/parameter-references.md:72 81ea71a35020421187dc18ddd151c62f +msgid "" +"From " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" +"来自 " +"[`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" + +#: ../../src/topics/parameter-references.md:74 ea0117748adc4324901024f21eed04ac +msgid "" +"From " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" +"来自 " +"[CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" + +#: ../../src/topics/parameter-references.md:77 3a30e73176cf4e4eb9f26770a176b9c9 +msgid "" +"From " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" +"来自 " +"[CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" + +#: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" +"来自[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" 和 " +"[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" + +#: ../../src/topics/parameter-references.md:85 7008a1ff1af54fda827637e787e5c7dd +msgid "" +"From " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"来自 " +"[WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" + +#: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e +msgid "" +"From " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" and " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" +"来自 " +"[InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter)" +" 和 " +"[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" + +#: ../../src/topics/parameter-references.md:92 0ae32d1db5f9452bbfcbbc4719b0b9f1 +msgid "" +"From " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" +"来自 " +"[`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" + +#: ../../src/topics/parameter-references.md:101 +#: 7e1907ff15c74f488187531de336eccf +msgid "" +"From " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" +"来自 " +"[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" + +#: ../../src/topics/parameter-references.md:103 +#: 678874668fed4f4d80a1b0990e183e2f +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "[Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent) 对象中" + +#: ../../src/topics/parameter-references.md:107 +#: e2882880886046ac88ae1c0d414366d1 +msgid "" +"From " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" +"来自 " +"[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" + +#: ../../src/topics/requirements-and-hints.md:5 +#: 05324169d8ae48d4a1abe3a0ac07c891 +msgid "Requirements and Hints" +msgstr "需求和提示" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: 1f5b72d7ec82442ba29baa14a03f061b +msgid "Specifying Software Requirements" +msgstr "指定软件需求" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: e708866921ea49d69d3c2a32d63ea468 +msgid "" +"Often, tool descriptions will be written for a specific version of a " +"software. To make it easier for others to use your descriptions, you can " +"include a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)" +" field in the `hints` section. This may also help to avoid confusion " +"about which version of a tool the description was written for." +msgstr "" +"工具描述往往是针对特定版本的软件而编写。为了方便他人使用您的工具描述," +"您可以在 `hints` 部分添加[`SoftwareRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#SoftwareRequirement) " +"字段,用来指明该描述适用于哪个工具版本。" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 6f722d6fd54f485fa964076c8d08938b +msgid "" +"In this example, the software requirement being described is InterProScan" +" version 5.21-60." +msgstr "本例中描述的软件要求为 5.21-60 版本的 InterProScan." + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 5c1236ec57c64079bfb7c779524b12ad +msgid "" +"Depending on your CWL runner, these hints may be used to check that the " +"required software is installed and available before the job is run. To " +"enable these checks with the reference implementation, use the " +"[dependency resolvers configuration][dependencies]." +msgstr "" +"您的 CWL 运行程序有可能支持在运行作业前根据提示检查所需软件是否已安装就绪。如" +"果要让参考实现启用此类检查,请使用[依赖项解析配置][dependencies]。" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 1a8b8aadf1c64e87b8b670e288bc14bc +msgid "" +"As well as a version number, a unique resource identifier (URI) for the " +"tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be" +" looked up in the [SciCrunch][scicrunch] registry, which provides a " +"portal for finding, tracking, and referring to scientific resources " +"consistently. If you want to specify a tool as a " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)," +" search for the tool on SciCrunch and use the RRID that it has been " +"assigned in the registry. (Follow this [Adding a Resource Tutorial" +"][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID " +"to refer to the tool (via [identifiers.org][identifiers]) in the `specs` " +"field of your requirement description. Other good choices, in order of " +"preference, are to include the DOI for the main tool citation and the URL" +" to the tool." +msgstr "" +"此处我们不仅给出了工具的版本号,还以 [RRID][rrid] " +"的形式给出了该工具的统一资源标识符 (URI) 。查找以 RRID 标识的资源可以使用 " +"[SciCrunch][scicrunch] " +"注册表。该信息门户网站可供查询、跟踪和一致引用科学资源。如果要将工具指定为 " +"[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#SoftwareRequirement),请在 SciCrunch " +"上找到该工具并使用该注册表中为其分配的 RRID(如需将工具添加到 SciCrunch " +"请参考 [添加资源教程][scicrunch-add-tool] )。您可以使用此 RRID, 通过 " +"[identifiers.org][identifiers] 在需求描述的 `specs` 字段中引用该工具。此外," +"加入主要工具参考文献的 DOI 以及工具的 URL, 也是合适的选择。" + +#: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 +msgid "Staging Input Files" +msgstr "暂存输入文件" + +#: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a +msgid "" +"Normally, input files are located in a read-only directory separate from " +"the output directory. This causes problems if the underlying tool " +"expects to write its output files alongside the input file in the same " +"directory. You use " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)" +" to stage input files into the output directory. In this example, we use " +"a JavaScript expression to extract the base name of the input file from " +"its leading directory path." +msgstr "" +"通常,输入文件存放于只读目录中,而且位于输出目录之外。 然而,如果基础工具工作" +"的惯例是将输出文件写到输入文件所在的同一目录,则会导致问题。 使用 " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool." +"html#InitialWorkDirRequirement) " +"可以实现在输出目录中暂存输入文件。在此示例中,我们使用 JavaScript 表达式," +"提取输入文件去除前导目录路径后的基本文件名 (base name)." + +#: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 +msgid "`linkfile.cwl`" +msgstr "`linkfile.cwl`" + +#: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 +msgid "Troubleshooting" +msgstr "故障排除" + +#: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 +msgid "" +"In this section you will find ways to troubleshoot when you have problems" +" executing CWL. We focus on `cwltool` here but some of these techniques " +"may apply to other CWL Runners." +msgstr "" +"本节将介绍执行 CWL 程序遇到问题时的排查、解决方法。此处我们重点介绍 `cwltool`" +", 不过同样的技巧也可能适用于其他 CWL 运行程序。" + +#: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec +msgid "Run `cwltool` with `cachedir`" +msgstr "制定 `cachedir`(缓存目录)运行 `cwltool`" + +#: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 +msgid "" +"You can use the `--cachedir` option when running a workflow to tell " +"`cwltool` to cache intermediate files (files that are not input nor " +"output files, but created while your workflow is running). By default, " +"these files are created in a temporary directory but writing them to a " +"separate directory makes accessing them easier." +msgstr "" +"运行工作流时,您可使用 `--cachedir` 选项令 `cwltool` 缓存中间文件(不属于输入" +"输出文件,而是工作流运行过程中创建)。默认情况下这些文件创建于一个临时目录下" +",不过将其写入指定的独立目录可以更方便地访问。" + +#: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +msgid "" +"In the following example `troubleshooting-wf1.cwl` we have two steps, " +"`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " +"World\" | rev`, which would print the message \"Hello World\" reversed, " +"i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**," +" where instead of executing the `rev` command it tries to execute `revv`," +" which fails." +msgstr "" +"以下示例 `troubleshooting-wf1.cwl` 中设有两个步骤 `step_a` 和 `step_b`. " +"该工作流相当于执行命令 `echo \"Hello World\" | rev`, 将 \"Hello World\" " +"反向输出为 \"dlroW olleH\". 但是第二个步骤 `step_b` **有一处错误**:本该执行 " +"`rev` 命令,却成了 `revv`, 于是失败。" + +#: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 +msgid "`troubleshooting-wf1.cwl`" +msgstr "`troubleshooting-wf1.cwl`" + +#: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +msgid "" +"Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` " +"value (`cwltool` will create the directory for you if it does not exist " +"already):" +msgstr "" +"我们来以 `/tmp/cachedir/` 为 `--cachedir` " +"选项的值重新执行这个工作流(如果这个目录不存在,`cwltool` 会为你创建之):" + +#: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +msgid "" +"The workflow is in the `permanentFail` status due to `step_b` failing to " +"execute the non-existent `revv` command. The `step_a` was executed " +"successfully and its output has been cached in your `cachedir` location. " +"You can inspect the intermediate files created:" +msgstr "" +"该工作流处于 `permanentFail` 状态,因为 `step_b` 中执行不存在的命令 `revv` " +"失败。`step_a` 得到了成功执行,其输出换存在了你通过 `cachedir` " +"选项指定的位置。你可以检查它创建的中间文件:" + +#: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +msgid "" +"Each workflow step has received a unique ID (the long value that looks " +"like a hash). The `${HASH}.status` files display the status of each step " +"executed by the workflow. And the `step_a` output file `stdout.txt` is " +"visible in the output of the command above." +msgstr "" +"工作流中的每一步骤均有唯一的 ID(即形如散列/哈希值的一长串字符)。文件 " +"`${HASH}.status` 包含工作流各步骤的执行状态。在上例命令的输出结果中可以看到 " +"`step_a` 这一步骤的输出文件 `stdout.txt`." + +#: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +msgid "" +"Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev`" +" in the `step_b`). After fixing the typo, when you execute `cwltool` with" +" the same arguments as the previous time, note that now `cwltool` output " +"contains information about pre-cached outputs for `step_a`, and about a " +"new cache entry for the output of `step_b`. Also note that the status of " +"`step_b` is now of success." +msgstr "" +"现在,将 `step_b` 中的错误(即 `revv`)改正过来,使之执行 `rev` 命令。然后," +"用与之前相同的命令行选项执行 `cwltool`. 注意这时 `cwltool` 的输出包含 " +"`step_a` 经缓存的输出,而 `step_b` 的输出有了新的缓存项。同时,可以注意到 " +"`step_b` 的状态已经是“成功”。" + +#: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +msgid "" +"In this example the workflow step `step_a` was not re-evaluated as it had" +" been cached, and there was no change in its execution or output. " +"Furthermore, `cwltool` was able to recognize when it had to re-evaluate " +"`step_b` after we fixed the executable name. This technique is useful for" +" troubleshooting your CWL documents and also as a way to prevent " +"`cwltool` to re-evaluate steps unnecessarily." +msgstr "" +"此例子中,工作流步骤 `step_a` 并没有得到重新计算,因为它仍在缓存中,而且其执" +"行或输出都没有改变。另外,`cwltool` 能够认识到我们修改了 `step_b` " +"中可执行文件的名称后,它必须重新计算这一步骤。这一技巧十分适用于排查 CWL " +"程序中的错误时,而且可以避免 `cwltool` 无谓地重复运算每一步骤。" + +#: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a +msgid "Using Containers" +msgstr "使用容器" + +#: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 +msgid "Running Tools Inside Docker" +msgstr "在 Docker 中运行工具" + +#: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +msgid "" +"[Docker][docker] containers simplify software installation by providing a" +" complete known-good runtime for software and its dependencies. However," +" containers are also purposefully isolated from the host system, so in " +"order to run a tool inside a Docker container there is additional work to" +" ensure that input files are available inside the container and output " +"files can be recovered from the container. A CWL runner can perform this" +" work automatically, allowing you to use Docker to simplify your software" +" management while avoiding the complexity of invoking and managing Docker" +" containers." +msgstr "" +"[Docker][docker] 容器可以为软件及其依赖的组件提供确知可正常使用的完整运行环境" +",进而简化软件的安装。不过,容器与宿主系统是刻意隔离开来的。因此,要在 " +"Docker 容器中运行某个工具,需进行额外操作,以使输入文件在容器内可用,而输出文" +"件可从容器中提取。CWL 运行程序可以自动完成这个任务,从而帮助您使用 Docker " +"简化对软件的管理,同时避免调用和管理 Docker 容器等复杂操作。" + +#: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +msgid "" +"One of the responsibilities of the CWL runner is to adjust the paths of " +"input files to reflect the location where they appear inside the " +"container." +msgstr "CWL 运行程序的任务之一,就是调整输入文件的路径,以反映它们在容器内的位置。" + +#: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +msgid "" +"This example runs a simple Node.js script inside a Docker container which" +" will then print \"Hello World\" to the standard output." +msgstr "本示例在 Docker 容器中运行一个简单的 Node.js 脚本,将 \"Hello World\" " +"写入标准输出。" + +#: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 +msgid "`docker.cwl`" +msgstr "`docker.cwl`" + +#: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e +msgid "`docker-job.yml`" +msgstr "`docker-job.yml`" + +#: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +msgid "" +"Before we run this, let's just break it down and see what some bits do. " +"Most of this has been explained in previous sections, the only part that " +"is really new is the " +"[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" +" section." +msgstr "" +"运行这个例子前,我们先来看看代码各部分都是为了做什么。这里,多数内容已在此前" +"的章节中讲授,而算得上新内容的就是 [`dockerRequirement`](https://w3id.org/" +"cwl/CommandLineTool.html#DockerRequirement) 这一段代码。" + +#: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +msgid "" +"`baseCommand: node` tells CWL that we will be running this command using " +"the Node Js runtime that is meant for Javascript files. We then need to " +"specify some `hints` for how to find the container we want. In this case" +" we list just our requirements for the docker container in " +"`DockerRequirements`. The `dockerPull:` parameter takes the same value " +"that you would pass to a `docker pull` command. That is, the name of the " +"container image (you can even specify the tag, which is good idea for " +"best practices when using containers for reproducible research). In this " +"case we have used a container called `node:slim`." +msgstr "" +"`baseCommand: node` 告诉 CWL, 我们运行命令打算使用 Node.js 环境,意在执行 " +"JavaScript 程序。然后,我们需要给出一点“提示” (`hints`), " +"以便找到我们需要的容器。这个例子里,我们只需要在 `DockerRequirements` " +"下列出我们 Docker 容器的需求即可。`dockerPull:` 参数应赋予的值," +"就是您假如使用 `docker pull` 命令时会给出的参数,即容器映像 (image) 的名称(" +"您可进一步标明容器的标签即 tag, " +"用容器从事可复现研究工作时这是个好习惯)。这个例子里,我们使用的容器名为 " +"`node:slim`." + +#: ../../src/topics/using-containers.md:52 54cade4978ec463bbb5c0d8c08e27adb +msgid "" +"Create a Javascript file named \"hello.js\" and invoke `cwltool` " +"providing the tool description and the input object on the command line:" +msgstr "创建一个名为 \"hello.js\" 的 JavaScript " +"文件,然后在命令行中,以工具描述和输入对象为参数,调用 `cwltool`:" + +#: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 +msgid "`hello.js`" +msgstr "`hello.js`" + +#: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +msgid "" +"Notice the CWL runner has constructed a Docker command line to run the " +"script." +msgstr "请注意,CWL 运行程序构建出了一行 Docker 命令,用来运行脚本。" + +#: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +msgid "" +"In this example, the path to the script `hello.js` is " +"`/home/me/cwl/user_guide/hello.js` outside the container but " +"`/var/lib/cwl/job369354770_examples/hello.js` inside the container, as " +"reflected in the invocation of the `node` command." +msgstr "" +"这个例子中,在容器外部,脚本 `hello.js` 的路径位于 `/home/me/cwl/user_guide/" +"hello.js`, 而它在容器内的路径为 `/var/lib/cwl/job369354770_examples/hello.js`" +", 这从 `node` 命令的调用参数可见。" + +#: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da +msgid "Workflows" +msgstr "工作流" + +#: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 +msgid "" +"A workflow is a CWL processing unit that executes command-line tools, " +"expression tools, or workflows (sub-workflows) as steps. It must have " +"`inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" +"工作流 (workflow) 指的是将命令行工具、表达式工具或(子)" +"工作流等作为步骤进行执行的 CWL 处理单元。一个工作流必须具备 CWL 程序所定义的 " +"`inputs`(输入), `outputs`(输出), 以及 `step`(步骤)." + +#: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 +msgid "CWL workflow." +msgstr "CWL 工作流" + +#: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +msgid "" +"The CWL document `echo-uppercase.cwl` defines a workflow that runs the " +"command-line tool, and the expression tool showed in the earlier " +"examples." +msgstr "CWL 文件 `echo-uppercase.cwl` " +"定义了之前的例子中运行命令行工具的工作流以及表达式工具。" + +#: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 +msgid "`echo-uppercase.cwl`" +msgstr "`echo-uppercase.cwl`" + +#: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +msgid "" +"A command-line tool or expression tool can also be written directly in " +"the same CWL document as the workflow. For example, we can rewrite the " +"`echo-uppercase.cwl` workflow as a single file:" +msgstr "" +"命令行工具或表达式工具亦可直接写在定义工作流的单一 CWL 文件里。例如," +"我们可以将 `echo-uppercase.cwl` 改写成一个单独的文件如下:" + +#: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad +msgid "`echo-uppercase-single-file.cwl`" +msgstr "`echo-uppercase-single-file.cwl`" + +#: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +msgid "" +"Having separate files helps with modularity and code organization. But it" +" can be helpful writing everything in a single file for development. " +"There are other ways to combine multiple files into a single file (e.g. " +"`cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" +"将代码分为多个独立的文件有助于模块化和代码的组织条理。不过,把全部代码集中在" +"一个文件,可能对开发更有利。将多个文件整合为一个,还有其他手段(如 `cwltool " +"--pack`),将在本《指南》的其他章节进一步讨论。" + +#: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 +msgid "" +"For a sub-workflows you need to enable the requirement " +"`SubworkflowFeatureRequirement`. It is covered in another section of this" +" user guide in more detail." +msgstr "" +"子工作流 (sub-workflow) 需要启用 `SubworkflowFeatureRequirement` " +"这一要求,这在另一章节中将有更详细的教程。" + +#: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 +msgid "Writing Workflows" +msgstr "编写工作流" + +#: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 +msgid "" +"This workflow extracts a java source file from a tar file and then " +"compiles it." +msgstr "这个工作流从 tar 文件中提取一个 Java 源文件,然后编译。" + +#: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff +msgid "`1st-workflow.cwl`" +msgstr "`1st-workflow.cwl`" + +#: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 +#: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 +msgid "Visualization of 1st-workflow.cwl" +msgstr "1st-workflow.cwl 的图示" + +#: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +msgid "" +"[![Visualization of 1st-" +"workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-" +"workflow-" +"language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" +"-1st-workflow/1st-workflow.cwl)" +msgstr "" +"[![1st-workflow.cwl 的图示](https://view.commonwl.org/graph/png/github.com/" +"common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)](https://view.commonwl.org/graph/png/github.com/" +"common-workflow-language/user_guide/blob/" +"a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-" +"workflow.cwl)" + +#: ../../src/topics/workflows.md:183 5ff059fc8ae6471c8ea86dab7e5a93f5 +msgid "" +"Use a YAML or a JSON object in a separate file to describe the input of a" +" run:" +msgstr "在分立的文件中通过 YAML 或 JSON 对象来描述一次运行的输入:" + +#: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 +msgid "`1st-workflow-job.yml`" +msgstr "`1st-workflow-job.yml`" + +#: ../../src/topics/workflows.md:191 4a4db7da861547639524083bf35ccfc0 +msgid "" +"Next, create a sample Java file and add it to a tar file to use with the " +"command-line tool." +msgstr "接下来,创建一个 Java 文件样本,将其打包到一个 tar " +"文件,以供运行命令行工具时使用。" + +#: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c +msgid "What's going on here? Let's break it down:" +msgstr "这是怎么一回事呢?我们一一道来:" + +#: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 +msgid "" +"The `cwlVersion` field indicates the version of the CWL spec used by the " +"document. The `class` field indicates this document describes a " +"workflow." +msgstr "`cwlVersion` 字段指明该文件使用的 CWL 规约版本。`class` " +"字段表明该文件描述的是一个工作流。" + +#: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +msgid "" +"The `inputs` section describes the inputs of the workflow. This is a " +"list of input parameters where each parameter consists of an identifier " +"and a data type. These parameters can be used as sources for input to " +"specific workflows steps." +msgstr "" +"`inputs` 代码段描述的是工作流的输入,即一组输入参数。这里面的每个参数都由标识" +"符和数据类型构成,它们可以用作工作流中某个指定步骤的输入源。" + +#: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +msgid "" +"The `outputs` section describes the outputs of the workflow. This is a " +"list of output parameters where each parameter consists of an identifier " +"and a data type. The `outputSource` connects the output parameter " +"`classfile` of the `compile` step to the workflow output parameter " +"`compiled_class`." +msgstr "" +"`outputs` 代码段描述的是工作流的输出。这同样是一组由标识符和数据类型构成的参" +"数。`outputSource` 将 `compile`(编译)步骤的输出参数 `classfile` " +"同工作流的输出参数 `compiled_class` 建立联系。" + +#: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +msgid "" +"The `steps` section describes the actual steps of the workflow. In this " +"example, the first step extracts a file from a tar file, and the second " +"step compiles the file from the first step using the java compiler. " +"Workflow steps are not necessarily run in the order they are listed, " +"instead the order is determined by the dependencies between steps (using " +"`source`). In addition, workflow steps which do not depend on one " +"another may run in parallel." +msgstr "" +"`steps` 代码段描述的是工作流的实际步骤。这个例子中,第一个步骤是从 tar " +"归档文件中提取一个文件,而第二步是使用 Java 编译器编译来自第一步的文件。工作" +"流的各个步骤不是必须按照在代码中列出的顺序运行,而是由各个步骤之间(由 " +"`source` 决定)的依赖关系确定其先后次序。此外,工作流中没有依赖关系的多个步骤" +"允许并行运行。" + +#: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +msgid "" +"The first step, `untar` runs `tar-param.cwl` (described previously in " +"[Parameter References](parameter-references.md)). This tool has two input" +" parameters, `tarfile` and `extractfile` and one output parameter " +"`extracted_file`." +msgstr "" +"第一个步骤 `untar` 运行 `tar-param.cwl`(此前见于[《参数引用》](parameter-" +"references.md)一节)。该工具有两个输入参数 `tarfile` 和 `extractfile`, " +"以及一个输出参数 `extracted_file`." + +#: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +msgid "" +"The ``in`` section of the workflow step connects these two input " +"parameters to the inputs of the workflow, `tarball` and " +"`name_of_file_to_extract` using `source`. This means that when the " +"workflow step is executed, the values assigned to `tarball` and " +"`name_of_file_to_extract` will be used for the parameters `tarfile` and " +"`extractfile` in order to run the tool." +msgstr "" +"该工作流步骤下的 ``in`` 这段代码将上述两个输入参数同工作流的输入 `tarball` " +"和 `name_of_file_to_extract` 通过`source` " +"关联起来。这意味着当这个工作流步骤执行时,为了运行其指定的工具,`tarball` 和 " +"`name_of_file_to_extract` 所赋予的值将用于 `tarfile` 和 `extractfile` 参数。" + +#: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +msgid "" +"The `out` section of the workflow step lists the output parameters that " +"are expected from the tool." +msgstr "工作流步骤下的 `out` 代码段列出了预期中从工具应获得的参数。" + +#: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 +msgid "" +"The second step `compile` depends on the results from the first step by " +"connecting the input parameter `src` to the output parameter of `untar` " +"using `untar/extracted_file`. It runs `arguments.cwl` (described " +"previously in [Additional Arguments and Parameters](additional-arguments-" +"and-parameters.md)). The output of this step `classfile` is connected to " +"the `outputs` section for the Workflow, described above." +msgstr "" +"第二个步骤 `compile`(编译)依赖于第一步的结果,具体而言它的输入参数 `src` " +"与 `untar` 步骤的输出参数 `untar/extracted_file` 相关联。这一步骤运行 " +"`arguments.cwl`(此前见于[《附加参数》](additional-arguments-and-parameters." +"md)一节)。此步骤的输出 `classfile` 关联的是工作流的 `outputs` 部分(见上)。" + +#: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d +msgid "Nested Workflows" +msgstr "嵌套的工作流" + +#: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +msgid "" +"Workflows are ways to combine multiple tools to perform a larger " +"operations. We can also think of a workflow as being a tool itself; a CWL" +" workflow can be used as a step in another CWL workflow, if the workflow " +"engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" +"工作流的作用在于将多种工具组合起来,进行更大规模的操作。我们还可以将一个工作" +"流整体视为一个工具;如果工作流引擎支持 `SubworkflowFeatureRequirement`, 则 " +"CWL 工作流可以用作另一 CWL 工作流中的单个步骤:" + +#: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 +msgid "" +"Here's an example workflow that uses our `1st-workflow.cwl` as a nested " +"workflow:" +msgstr "下面这个例子里的工作流嵌入了我们的 `1st-workflow.cwl` 工作流:" + +#: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 +msgid "`nestedworkflows.cwl`" +msgstr "`nestedworkflows.cwl`" + +#: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 +msgid "" +"This two-step workflow starts with the `create-tar` step which is " +"connected to the `compile` step in orange; `compile` is another workflow," +" diagrammed on the right. In purple we see the fixed string " +"`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" +"这个由两个步骤构成的工作流,起始于 `create-tar` 步骤,进而接入橙色的 " +"`compile` 步骤;如右侧图所示,`compile` 是另一个工作流。" +"由紫色的部分可见字符串常量 `\"Hello.java\"` 赋值给 `name_of_file_to_extract`." + +#: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda +msgid "" +" \"Visualization" +msgstr "" +"\"Visualization \"Visualization" + +#: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 +msgid "" +"A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, " +"its CWL file is included with `run`. The workflow inputs (`tarball` and " +"`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " +"mapped to become the step's input/outputs." +msgstr "" +"CWL `Workflow`(工作流)就和 " +"`CommandLineTool`(命令行工具)一样,可以充当一个步骤。通过 `run` " +"字段可以将其 CWL 文件包含进来。然后,工作流的输入 (`tarball` 和 " +"`name_of_file_to_extract`) 与输出 (`compiled_class`) " +"就可以映射为这一步骤的输入/输出。" + +#: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +msgid "" +"Our `1st-workflow.cwl` was parameterized with workflow inputs, so when " +"running it we had to provide a job file to denote the tar file and " +"`*.java` filename. This is generally best-practice, as it means it can be" +" reused in multiple parent workflows, or even in multiple steps within " +"the same workflow." +msgstr "" +"我们的 `1st-workflow.cwl` 文件基于工作流输入进行了参数化," +"因此运行时必须提供作业文件 (job file) 以指明 tar 文件和 `*.java` 的文件名。一" +"般而言这样做是最合适的,好处在于多个上级工作流、乃至同一工作流中的多个步骤间" +"可以重复使用代码。" + +#: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 +msgid "" +"Here we use `default:` to hard-code `\"Hello.java\"` as the " +"`name_of_file_to_extract` input, however our workflow also requires a tar" +" file at `tarball`, which we will prepare in the `create-tar` step. At " +"this point it is probably a good idea to refactor `1st-workflow.cwl` to " +"have more specific input/output names, as those also appear in its usage " +"as a tool." +msgstr "" +"这里,我们用 `default:` 字段,将输入 `name_of_file_to_extract` 硬性编码为 `" +"\"Hello.java\"`, 然而我们的工作流仍然需要 `tarball` 字段指定的一个 tar 文件," +"我们会通过 `create-tar` 这个步骤将它创建好。到这一步,比较好的办法是重整 " +"`1st-workflow.cwl` 中的代码,像用作工具时一样使用更具体的输入/输出名。" + +#: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +msgid "" +"It is also possible to do a less generic approach and avoid external " +"dependencies in the job file. So in this workflow we can generate a hard-" +"coded `Hello.java` file using the previously mentioned " +"`InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" +"另一种可能是采用更加特殊化的办法,避免作业文件中的外部依赖。在这个工作流中, " +"我们可以利用前述 `InitialWorkDirRequirement` 需求,生成一个硬性编码的 `Hello." +"java` 文件,然后将它添加到 tar 文件。" + +#: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee +msgid "" +"In this case our step can assume `Hello.java` rather than be " +"parameterized, so we can use hardcoded values `hello.tar` and " +"`Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" +"这种情况下,我们的步骤中可以直接以 `Hello.java` 为前提假定,无需参数化," +"从而在 `baseCommand` 以及产出的 `outputs` 中使用硬性编码的值 `hello.tar` 和 " +"`Hello.java`:" + +#: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c +msgid "" +"Did you notice that we didn't split out the `tar --create` tool to a " +"separate file, but rather embedded it within the CWL Workflow file? This " +"is generally not best practice, as the tool then can't be reused. The " +"reason for doing it in this case is because the command line is hard-" +"coded with filenames that only make sense within this workflow." +msgstr "" +"您是否注意到,我们并没有将 `tar --create` 工具划分到一个独立的文件," +"而是嵌入到 CWL 工作流文件中?一般而言这样做并不是最合适的,将导致工具无法重复" +"使用。在这个特例中,如此操作的原因是命令行已是硬性编码的,其中的文件名仅对这" +"一个工作流有效。" + +#: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 +msgid "" +"In this example we had to prepare a tar file outside, but only because " +"our inner workflow was designed to take that as an input. A better " +"refactoring of the inner workflow would be to take a list of Java files " +"to compile, which would simplify its usage as a tool step in other " +"workflows." +msgstr "" +"这个例子里我们不得不在外部创制 tar 文件,但这无非是因为我们将内部工作流设计成" +"以该文件为输入。内部工作流更好的重整方式,可以是令其接受一个待编译 Java " +"文件的列表,使之作为工具步骤用于其它工作流中时的用法得以简化。" + +#: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 +msgid "" +"Nested workflows can be a powerful feature to generate higher-level " +"functional and reusable workflow units - but just like for creating a CWL" +" Tool description, care must be taken to improve its usability in " +"multiple workflows." +msgstr "" +"嵌套的工作流作为一种强大的功能,可以用于生成高阶函数和可复用的工作流单元——然" +"而,正如创建 CWL 工具描述时一样,我们必须用心于提高它在多个工作流间的可用性。" + +#: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 +msgid "Scattering Steps" +msgstr "分散步骤" + +#: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d +msgid "" +"Now that we know how to write workflows, we can start utilizing the " +"`ScatterFeatureRequirement`. This feature tells the runner that you wish " +"to run a tool or workflow multiple times over a list of inputs. The " +"workflow then takes the input(s) as an array and will run the specified " +"step(s) on each element of the array as if it were a single input. This " +"allows you to run the same workflow on multiple inputs without having to " +"generate many different commands or input yaml files." +msgstr "" +"了解了如何编写工作流,我们可以准备使用 `ScatterFeatureRequirement`. 该功能用" +"于告诉运行程序,您打算对列表中的多个输入重复运行某个工具或者工作流。这样,工" +"作流可以将输入作为数组,并对每个数组元素运行指定的步骤,如同单个输入一样。这" +"样, 我们可以让同一工作流对多个输入运行,而无需生成多个不同的命令或者 YAML " +"输入文件。" + +#: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +msgid "" +"The most common reason a new user might want to use scatter is to perform" +" the same analysis on different samples. Let's start with a simple " +"workflow that calls our first example (`hello_world.cwl`) and takes an " +"array of strings as input to the workflow:" +msgstr "" +"用户第一次接触分散 (scatter) 功能,最主要的原因一般是为了对多个不同的样本进行" +"同一分析。我们从一个简单的工作流出发,调用我们的第一个示例 (`hello_world." +"cwl`), 并以一个字符串数组作为工作流的输入:" + +#: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 +msgid "`scatter-workflow.cwl`" +msgstr "`scatter-workflow.cwl`" + +#: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +msgid "" +"Aside from the `requirements` section including " +"`ScatterFeatureRequirement`, what is going on here?" +msgstr "除了 `requirements` 代码段加入了 `ScatterFeatureRequirement` " +"以外,还有什么新情况?" + +#: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 +msgid "" +"First of all, notice that the main workflow level input here requires an " +"array of strings." +msgstr "首先,请注意,主工作流级别的输入这时需要字符串数组。" + +#: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +msgid "" +"Here we've added a new field to the step `echo` called `scatter`. This " +"field tells the runner that we'd like to scatter over this input for this" +" particular step. Note that the input name listed after scatter is the " +"one of the step's input, not a workflow level input." +msgstr "" +"这里,我们在 `echo` 步骤下添加了名为 `scatter` " +"的新字段。该字段告诉运行程序,我们希望让这一特定步骤对输入分散运行。请注意," +"\"scatter\" 后列出的输入名是该步骤的输入之一,而非工作流层面的输入。" + +#: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 +msgid "" +"For our first scatter, it's as simple as that! Since our tool doesn't " +"collect any outputs, we still use `outputs: []` in our workflow, but if " +"you expect that the final output of your workflow will now have multiple " +"outputs to collect, be sure to update that to an array type as well!" +msgstr "" +"我们第一次做分散,就是这么简单。因为我们的工具并不收集任何输出," +"我们仍然可以在工作流中写上 `outputs: []`. 但是,如果你知道工作流的最终输出需" +"要归集多个输出,请记得这里同样要更改为数组类型!" + +#: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 +msgid "Using the following input file:" +msgstr "使用如下输入文件:" + +#: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d +msgid "`scatter-job.yml`" +msgstr "`scatter-job.yml`" + +#: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d +msgid "" +"As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply" +" calls the command `echo` on a message. If we invoke `cwltool scatter-" +"workflow.cwl scatter-job.yml` on the command line:" +msgstr "" +"提醒一下,[`hello_world.cwl`](../introduction/quick-start.md) " +"仅仅是对某段文字调用 `echo` 这个命令。如果我们在命令行调用 `cwltool scatter-" +"workflow.cwl scatter-job.yml`:" + +#: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f +msgid "" +"You can see that the workflow calls echo multiple times on each element " +"of our `message_array`. Ok, so how about if we want to scatter over two " +"steps in a workflow?" +msgstr "" +"可以看到,这个工作流分多次对 `message_array` 数组的每个元素一一调用 \"echo\"" +". 好的,那么如果我们想要让工作流中两个步骤进行分散,该怎么办?" + +#: ../../src/topics/workflows.md:469 99b5c8a845ab4beb8524a69c051e2d42 +msgid "" +"Let's perform a simple echo like above, but capturing `stdout` by adding " +"the following lines instead of `outputs: []`" +msgstr "" +"和之前一样,我们来做一个简单的回显 (echo), 但这次将捕获 " +"`stdout`(标准输出)。为此,我们用以下数行代码取代 `outputs: []`" + +#: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 +msgid "`hello_world_to_stdout.cwl`" +msgstr "`hello_world_to_stdout.cwl`" + +#: ../../src/topics/workflows.md:480 173bd28708834f11a2a1366b579b7ad7 +msgid "" +"And add a second step that uses `wc` to count the characters in each " +"file. See the tool below:" +msgstr "进而添加第二个步骤,用 `wc` 命令计算每个文件中的字符数量。请见如下工具:" + +#: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 +msgid "`wc-tool.cwl`" +msgstr "`wc-tool.cwl`" + +#: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +msgid "" +"Now, how do we incorporate scatter? Remember the scatter field is under " +"each step:" +msgstr "现在,该如何加入分散操作呢?请记住,\"scatter\"(分散)字段出现在每个步骤下:" + +#: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b +msgid "`scatter-two-steps.cwl`" +msgstr "`scatter-two-steps.cwl`" + +#: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +msgid "" +"Here we have placed the scatter field under each step. This is fine for " +"this example since it runs quickly, but if you're running many samples " +"for a more complex workflow, you may wish to consider an alternative. " +"Here we are running scatter on each step independently, but since the " +"second step is not dependent on the first step completing all languages, " +"we aren't using the scatter functionality efficiently. The second step " +"expects an array as input from the first step, so it will wait until " +"everything in step one is finished before doing anything. Pretend that " +"`echo Hello World!` takes 1 minute to perform, `wc -c` on the output " +"takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, " +"and `wc` on that output takes 3 minutes. Even though `echo Hello World!` " +"could finish in 4 minutes, it will actually finish in 8 minutes because " +"the first step must wait on `echo Hallo welt!`. You can see how this " +"might not scale well." +msgstr "" +"这里,我们在每一步骤下加入了 \"scatter\" 字段。对这个具体的示例而言这样做无妨" +",因为这段程序运行得很快。但是,如果要对较多样本运行更复杂的工作流,您可能得" +"另寻途径。这里,我们在每个步骤中独立地进行分散,但既然第二个步骤并不实际依赖" +"第一个步骤对所有语种(即输入数组中的一个元素)全部完成操作,我们并没有高效地" +"运用分散功能。第二个步骤期待从第一个步骤得来的数组作为其输入,因此将一直等待" +"到第一步骤完全结束才会开始运行。打个比方,假设运行 `echo Hello World!` " +"需要花1分钟,对其输出运行 `wc -c` 需要3分钟,然后 `echo Hallo welt!` " +"需要5分钟来运行,最后对其输出运行 `wc` 需要3分钟。即使 `echo Hello World!` " +"本可以在4分钟内完成,它也要实际花费8分钟,因为第一个步骤必须等待 `echo Hallo " +"welt!` 完成。很显然,运算量大时这样的表现会很差劲。" + +#: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 +msgid "" +"Ok, so how do we scatter on steps that can proceed independent of other " +"samples? Remember from [Nested Workflows](#nested-workflows), that we can" +" make an entire workflow a single step in another workflow! Convert our " +"two-step workflow to a single step subworkflow:" +msgstr "" +"好的,那么,我们对不依赖其它样本、可以独立进行的步骤,该如何分散?请回想[嵌套" +"的工作流](#nested-workflows)部分,其中写道,我们可以让整个工作流称为另一个工" +"作流中的一个步骤!我们将两步骤的工作流改写为单一步骤的子工作流:" + +#: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 +msgid "`scatter-nested-workflow.cwl`" +msgstr "`scatter-nested-workflow.cwl`" + +#: ../../src/topics/workflows.md:519 508ef2240879445594b0f262ed11a01d +msgid "" +"Now the scatter acts on a single step, but that step consists of two " +"steps so each step is performed in parallel." +msgstr "这样,分散就可以针对一个单独的步骤进行,不过该步骤本身分为两个子步骤。这就让" +"每个分散的步骤并行进行。" + +#: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef +msgid "Conditional Workflows" +msgstr "条件性工作流" + +#: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 +msgid "" +"This workflow contains a conditional step and is executed based on the " +"input. This allows workflows to skip additional steps based on input " +"parameters given at the start of the program or by previous steps." +msgstr "这个工作流包含一个取决于输入的有条件步骤,可以根据程序起始或先前步骤给出的输" +"入参数决定是否跳过某些额外步骤。" + +#: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 +msgid "`conditional-workflow.cwl`" +msgstr "`conditional-workflow.cwl`" + +#: ../../src/topics/workflows.md:566 4a4a2b2b99b44d449adb246cebce0a26 +msgid "" +"The first thing you'll notice is that this workflow is only compatible " +"for version 1.2 or greater of the CWL standards." +msgstr "首先要注意,这个工作流只能兼容于版本1.2或以上的 CWL 标准。" + +#: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 +msgid "" +"The first step of the workflow (step1) contains two input properties and " +"will execute foo.cwl when the conditions are met. The new property `when`" +" is where the condition validation takes place. In this case only when " +"`in1` from the workflow contains a value `< 1` this step will be " +"executed." +msgstr "" +"工作流的第一个步骤 (step1) 包含两个输入字段,它将在条件满足时执行 foo.cwl. " +"这里新出现的字段 `when` 就是进行条件检验的地方。这个例子里,只有当 `in1` " +"从工作流获取的值小于1 (`< 1`) 时,此步骤才会执行。" + +#: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf +msgid "" +"Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value" +" will pass the first conditional step and will therefore be executed and " +"is shown in the log by `INFO [step step1] start` whereas the second step " +"is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" +"使用命令如 `cwltool cond-wf-003.1.cwl --val 0`, 则输入参数值 (0) " +"将满足第一个步骤的条件,从而使之得到执行,并且在日志中以 `INFO [step step1] " +"start` 出现。相反,第二个步骤则跳过了,即日志中 `INFO [step step2] will be " +"skipped` 所记。" + +#: ../../src/topics/workflows.md:607 7cd80b31a94543358ece7a2d413adce9 +msgid "" +"When a value of 3 is given the first conditional step will not be " +"executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" +"当参数值为3, 如命令 `cwltool cond-wf-003.1.cwl --val 3` " +"所给出,则第一个条件行步骤不会执行,反之第二个会。" + +#: ../../src/topics/workflows.md:627 9679e32f65e0482a8b083387e4a18c1f +msgid "" +"If no conditions are met for example when using `--val 2` the workflow " +"will raise a permanentFail." +msgstr "如果条件都不成立,如用 `--val 2` 所导致的,则工作流将发起 permanentFail " +"异常。" + +#: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 +msgid "YAML Guide" +msgstr "YAML 语言指南" + +#: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb +msgid "" +"[YAML][yaml] is a file format designed to be readable by both computers " +"and humans. This guide introduces the features of YAML that are relevant " +"when writing CWL descriptions and input parameter files." +msgstr "[YAML][yaml] 是一种让计算机和人都能读懂的文件格式。这部分指南主要针对编写 " +"CWL 描述和输入参数文件,介绍 YAML 的特性。" + +#: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "如果你已经能够得心应手地运用 YAML, 这一部分可以跳过。" + +#: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d +msgid "Contents" +msgstr "目录" + +#: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "[键值对](#key-value-pairs)" + +#: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d +msgid "[Comments](#comments)" +msgstr "[注释](#comments)" + +#: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 +msgid "[Maps](#maps)" +msgstr "[映射](#maps)" + +#: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c +msgid "[Arrays](#arrays)" +msgstr "[数组](#arrays)" + +#: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 +msgid "[JSON Style](#json-style)" +msgstr "[JSON 样式](#json-style)" + +#: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 +msgid "Key-Value Pairs" +msgstr "键值对" + +#: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe +msgid "" +"Fundamentally, a file written in YAML consists of a set of _key-value " +"pairs_. Each pair is written as `key: value`, where whitespace after the " +"`:` is required. Key names in CWL files should not contain whitespace - " +"[_camelCase_][camelCase] is used for multi-word key names that have " +"special meaning in the CWL specification and underscored key names " +"otherwise. For example:" +msgstr "" +"根本而言,YAML 格式的文件是一组形如 `key: value`(即“键: 值”)的_键值对_ " +"(key-value pair). 这里,冒号 `:` 后的空白字符是不可少的。CWL " +"文件中的键名不得包含空白字符——CWL 规约中有特殊含义的词组键名写为 " +"[_camelCase_][camelCase](“驼峰”大小写),无特殊含义者用下划线 (_) " +"分隔键名中的词。例如:" + +#: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 +msgid "" +"The YAML above defines four keys - `first_name`, `last_name`, " +"`age_years`, and `home` - with their four respective values. Values can " +"be character strings, numeric (integer, floating point, or scientific " +"representation), Boolean (`true` or `false`), or more complex nested " +"types (see below)." +msgstr "" +"上面这一段 YAML 包含4个键——`first_name`, `last_name`, `age_years`, 以及 `home" +"`——及其对应的值。值可以是字符串,数值(整数,浮点数,或者科学记数法),布尔值" +"(真值 `true` 或非真值 `false`),或者更复杂的嵌套类型(见下)。" + +#: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 +msgid "" +"Values may be wrapped in quotation marks, but be aware that this may " +"change the way that they are interpreted i.e. `\"1234\"` will be treated " +"as a character string , while `1234` will be treated as an integer. This " +"distinction can be important, for example when describing parameters to a" +" command: in CWL all parts of `baseCommand` must be strings so, if you " +"want to specify a fixed numeric value to a command, make sure that you " +"wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" +"值可以用括号包围起来,但要当心这样做可能改变其理解:`\"1234\"` " +"会被当作字符串,而 `1234` " +"为整数。有的时候,这之间的区别会很重要,例如描述命令的参数时:CWL " +"语言中,`baseCommand` 的所有部分都必须为字符串;因此,如果你打算给命令传递一" +"个数值常数作为参数值,那就必须将该数值用括号包围起来:`baseCommand: [echo, " +"\"42\"]`." + +#: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 +msgid "Comments" +msgstr "注释" + +#: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 +msgid "" +"You may use `#` to add comments to your CWL and parameter files. Any " +"characters to the right of ` #` will be ignored by the program " +"interpreting the YAML. For example:" +msgstr "在 CWL 和参数文件中,可以用 `#` 符号引入注释。每行中 ` #` " +"之后的全部字符都会被 YAML 解释程序忽略。例如:" + +#: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +msgid "" +"If there is anything on the line before the comment, be sure to add at " +"least one space before the `#`!" +msgstr "如果在某行里,注释之前有任何内容,记得 `#` 前需要至少一个空白字符!" + +#: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +msgid "Maps" +msgstr "映射" + +#: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e +msgid "" +"When describing a tool or workflow with CWL, it is usually necessary to " +"construct more complex, nested representations. Referred to as _maps_, " +"these hierarchical structures are described in YAML by providing " +"additional key-value pairs as the value of any key. These pairs " +"(sometimes referred to as \"children\") are written on new lines under " +"the key to which they belong (the \"parent\"), and should be indented " +"with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" +"用 CWL 描述工具或工作流时,通常需要构造更加复杂、多级嵌套的表示。这样的层级结" +"构称为“映射”;用 YAML 表示映射,是用一组键值对作为某个键的值。这样(作为值)" +"的键值对有时称为“子”键值对,写为其所属键(“母”键)下另起的新行,且应该用两个" +"空格字符增加一级缩进(制表符⇥不允许用作此目的)。例如:" + +#: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 +msgid "" +"The YAML above illustrates how to build up complex nested object " +"descriptions relatively quickly. The `inputs` map contains a single key, " +"`example_flag`, which itself contains two keys, `type` and " +"`inputBinding`, while one of these children, `inputBinding`, contains a " +"further two key-value pairs (`position` and `prefix`). See the " +"[Arrays](#arrays) section below for more information about providing " +"multiple values/key-value pairs for a single key. For comparison with the" +" example YAML above, here is a graphical representation of the `inputs` " +"object it describes." +msgstr "" +"上面的 YAML 样本展示了快速构建复杂嵌套对象描述的办法。`inputs` " +"这个映射包含单独一个键 `example_flag`, 而后者本身又包含两个键 `type` 和 " +"`inputBinding`; 其中,`inputBinding` 这个子键又包含另外两个键值对 (`position`" +" 和 `prefix`). 如果要为某一个键提供多个单值或子键值对值,请参见后面的[数组](#" +"arrays)部分。这里,我们用如下图形表示它所描述的 `inputs` 这个对象," +"以供与上面的 YAML 对照。" + +#: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df +msgid "Arrays" +msgstr "数组" + +#: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 +msgid "" +"In certain circumstances, it is necessary to provide multiple values or " +"objects for a single key. As we've already seen in the [Maps](#maps) " +"section above, more than one key-value pair can be mapped to a single " +"key. However, it is also possible to define multiple values for a key " +"without having to provide a unique key for each value. We can achieve " +"this with an _array_, where each value is defined on its own line and " +"preceded by `-`. For example:" +msgstr "" +"有些情况下,我们需要为某个键提供多个值或对象。如前面的[映射](#maps)部分所述," +"一个键下可以映射多个键值对。不过,我们还可以为某个键指定多个值,同时无需为每" +"个值都添加一个独特的子键。这可以通过“数组”实现;数组中的每个元素值出现在 " +"`-`(短线)符号后的新行上。例如:" + +#: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f +msgid "and a more complex example combining maps and arrays:" +msgstr "以及将映射与数组结合的一个较复杂例子:" + +#: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc +msgid "JSON Style" +msgstr "JSON 样式" + +#: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b +msgid "" +"YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and " +"arrays can also be defined in YAML using the native JSON syntax. For " +"example:" +msgstr "" +"YAML 的基础是 [JavaScript Object Notation (JSON)][json]. YAML " +"映射与数组都可以用 JSON 原生的语法表达。例如:" + +#: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 +msgid "and:" +msgstr "以及:" + +#: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +msgid "" +"Native JSON can be useful in indicating where a field is intentionally " +"left empty (such as `[]` for an empty array), as well as where it makes " +"more sense for the values to be located on the same line (For example, " +"when providing option flags and their values in a shell command). " +"However, as the second example above shows, it can severely affect the " +"readability of a YAML file, and should be used sparingly." +msgstr "" +"原生 JSON 可以用于表达某字段值有意为空(如使用 `[]` " +"代表空数组),以及多个值适合出现在同一行内的情况(如为 shell " +"命令行提供选项和参数值的时候)。不过,如上第二个例子所示,这种格式可能让 " +"YAML 文件的可读性大打折扣,因此应慎用。" + +#: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 +msgid "Reference" +msgstr "参考资料" + +#: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 +msgid "" +"The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for" +" us while we wrote this guide, though it also covers features that are " +"not valid in CWL." +msgstr "" +"[Learn YAML in Y Minutes][yaml-y-mins] " +"作为参考资料在我们写作本《指南》的过程中起到了很大的帮助," +"不过其中介绍的部分语言特性不适用于 CWL." + +#: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 +msgid "Tutorials" +msgstr "教程" + +#: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae +msgid "" +"This is a list of tutorials provided by the CWL community. Use the `Edit " +"this page` link in the menu if you would like to add another tutorial to " +"the list." +msgstr "这里是 CWL 社区提供的一份教程列表。如果您想添加新的教程,请使用菜单栏中的 `" +"Edit this page`(编辑此页面)链接。" + +#: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d +msgid "Beginner Tutorials" +msgstr "入门教程" + +#: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e +msgid "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-" +"tutorial/)" +msgstr "" +"[Introduction to Workflows with Common Workflow Language: For " +"Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" + +#: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f +msgid "Advanced Tutorials" +msgstr "进阶教程" + +#: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" + +#: ../../src/tutorials.md:15 e640316669104239970794191b6da38b +msgid "Bioinformatics Tutorials" +msgstr "生物信息学相关教程" + +#: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" + +#~ msgid "In CWL, everything must be directly stated." +#~ msgstr "在CWL中,一切都必须直接说明。" + +#~ msgid "Optional Inputs 💯" +#~ msgstr "可选输入💯" + +#~ msgid "Enum Inputs ⚜️" +#~ msgstr "枚举输入 ⚜️" + +#~ msgid "Record Inputs 📀" +#~ msgstr "记录输入 📀" + +#~ msgid "Debug JavaScript Expressions" +#~ msgstr "调试 JavaScript 表达式" + +#~ msgid "" +#~ "`cwltool` can be installed with `pip`." +#~ " We recommend using a virtual " +#~ "environment like `venv` or `conda`. The" +#~ " following commands will create and " +#~ "activate a Python virtual environment " +#~ "using the `venv` module, and install " +#~ "`cwltool` in that environment:" +#~ msgstr "" +#~ "`cwltool` 可以用 `pip` 命令安装,而且我们推荐使用 `venv` " +#~ "或 `conda` 等虚拟环境。以下命令将使用 `venv` 模块创建并激活一个 " +#~ "Python 虚拟环境,并在该环境中安装 `cwltool`:" + +#~ msgid "Installing `cwltool` with `pip` and `venv`." +#~ msgstr "使用 `pip` 和 `venv` 安装 `cwltool`." + +#~ msgid "Cwl-runner Python Module" +#~ msgstr "Python 模块 cwl-runner" + +#~ msgid "" +#~ "This indicates whether a process " +#~ "requires outgoing IPv4/IPv6 network access." +#~ " If a command-line tool is " +#~ "written manually in CWL v1.1+, there " +#~ "is a need to specify when network" +#~ " access is required." +#~ msgstr "" +#~ "这指的是流程是否需要发起 IPv4/IPv6 网络访问。如果命令行工具是基于 CWL " +#~ "v1.1+ 版本新编写的,则有必要明文指定何时需要访问网络。" + +#~ msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +#~ msgstr "要生成此类文件,我们可以使用 `InitialWorkDirRequirements`." + +#~ msgid "From `Workflow`" +#~ msgstr "来自 `Workflow`" + +#~ msgid "" +#~ "If you try running it with " +#~ "`cwltool`, the command will fail since" +#~ " `cwltool` does not have enough " +#~ "information to know how to execute " +#~ "it:" +#~ msgstr "如果您尝试用 `cwltool` 运行它,该命令会失败,因为 `cwltool` 缺少足够信息,无从知晓如何运行它:" + +#~ msgid "" +#~ "Before we run this, let's just " +#~ "break it down and see what some" +#~ " bits do. Most of this has " +#~ "been explained in previous sections, the" +#~ " only part that is really new " +#~ "is the `dockerRequirement` section." +#~ msgstr "" diff --git a/pyproject.toml b/pyproject.toml index e69de29b..fd76251b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -0,0 +1,69 @@ +[build-system] +requires = ["setuptools>=61.2"] +build-backend = "setuptools.build_meta" + +[project] +name = "cwl-user-guide" +description = "CWL User Guide" +license = {text = "GPL"} +classifiers = [ + "Environment :: Console", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: Implementation :: CPython", +] +requires-python = ">=3.6" +dependencies = [ + "cwltool", + "cwlref-runner", + "cwl-utils==0.*", + "myst-parser==3.*", + "pydata-sphinx-theme==0.*", + "sphinx==7.*", + "sphinx-reredirects==0.1.*", + "sphinxcontrib-runcmd==0.2.*", + "sphinx-favicon", + "python-Levenshtein", + "sphinx-intl", +] +dynamic = ["version"] + +[project.readme] +file = "README.md" +content-type = "text/markdown" + +[project.urls] +Homepage = "https://www.commonwl.org/user_guide/" +Documentation = "https://www.commonwl.org/user_guide/" +Source = "https://github.com/common-workflow-language/user_guide" +Tracker = "https://github.com/common-workflow-language/user_guide/issues" + +[project.optional-dependencies] +test = [ + "cwltest==2.*", + "cwltool==3.1.*", +] +watch = ["sphinx-autobuild==2024.10.*"] +rtd = ["udocker"] +all = ["cwl-user-guide[test,watch,rtd]"] + +[tool.setuptools] +include-package-data = true +platforms = ["any"] + +[tool.setuptools.packages.find] +include = ["cwl*"] +namespaces = true + +[tool.setuptools.dynamic] +version = {attr = "cwl.doc.__version__"} diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index f4315385..00000000 --- a/setup.cfg +++ /dev/null @@ -1,58 +0,0 @@ -[metadata] -name=cwl-user-guide -version=attr: cwl.doc.__version__ -url=https://www.commonwl.org/user_guide/ -description=CWL User Guide -long_description=file: README.md -long_description_content_type=text/markdown -project_urls= - Documentation=https://www.commonwl.org/user_guide/ - Source=https://github.com/common-workflow-language/user_guide - Tracker=https://github.com/common-workflow-language/user_guide/issues -license=GPL -platforms=any -classifiers= - Environment :: Console - Environment :: Web Environment - Intended Audience :: Developers - Intended Audience :: System Administrators - Intended Audience :: Science/Research - License :: OSI Approved :: GNU General Public License v3 (GPLv3) - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: Implementation :: CPython - -[options] -packages = find_namespace: -include_package_data = True -python_requires = >=3.6 -install_requires = - cwltool - cwlref-runner - cwl-utils==0.* - myst-parser==0.* - pydata-sphinx-theme==0.* - sphinx==5.* - sphinx-reredirects==0.1.* - sphinxcontrib-runcmd==0.2.* - -[options.packages.find] -include = cwl* - -[options.extras_require] -test = - cwltest==2.* - cwltool==3.1.* -watch = - sphinx-autobuild==2021.3.* -rtd = - udocker -all = - %(test)s - %(watch)s - %(rtd)s diff --git a/src/_includes/cwl/additional-arguments-and-parameters/arguments.cwl b/src/_includes/cwl/additional-arguments-and-parameters/arguments.cwl old mode 100644 new mode 100755 index 3a2e4538..a6f7287c --- a/src/_includes/cwl/additional-arguments-and-parameters/arguments.cwl +++ b/src/_includes/cwl/additional-arguments-and-parameters/arguments.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool label: Example trivial wrapper for Java 9 compiler hints: diff --git a/src/_includes/cwl/creating-files-at-runtime/createfile.cwl b/src/_includes/cwl/creating-files-at-runtime/createfile.cwl old mode 100644 new mode 100755 index 5e39a36f..d5694aab --- a/src/_includes/cwl/creating-files-at-runtime/createfile.cwl +++ b/src/_includes/cwl/creating-files-at-runtime/createfile.cwl @@ -1,5 +1,6 @@ +#!/usr/bin/env cwl-runner +cwlVersion: v1.2 class: CommandLineTool -cwlVersion: v1.0 baseCommand: ["sh", "example.sh"] requirements: diff --git a/src/_includes/cwl/custom-types/custom-types.cwl b/src/_includes/cwl/custom-types/custom-types.cwl old mode 100644 new mode 100755 index 707d5c2a..bc55213c --- a/src/_includes/cwl/custom-types/custom-types.cwl +++ b/src/_includes/cwl/custom-types/custom-types.cwl @@ -1,5 +1,5 @@ #!/usr/bin/env cwl-runner -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool requirements: @@ -13,12 +13,12 @@ requirements: hints: DockerRequirement: - dockerPull: 'quay.io/biocontainers/biom-format:2.1.6--py27_0' + dockerPull: 'quay.io/biocontainers/biom-format:2.1.15' SoftwareRequirement: packages: biom-format: specs: [ "https://doi.org/10.1186/2047-217X-1-7" ] - version: [ "2.1.6" ] + version: [ "2.1.15" ] inputs: biom: diff --git a/src/_includes/cwl/conformance-test.yml b/src/_includes/cwl/cwl_tests.yml similarity index 91% rename from src/_includes/cwl/conformance-test.yml rename to src/_includes/cwl/cwl_tests.yml index bb27f087..e95d61e3 100644 --- a/src/_includes/cwl/conformance-test.yml +++ b/src/_includes/cwl/cwl_tests.yml @@ -1,5 +1,6 @@ # Expressions - doc: Test for Expressions section + id: expressions job: expressions/empty.yml tool: expressions/expression.cwl output: @@ -12,12 +13,14 @@ # Inputs - doc: Test for Essential Inputs section + id: essential-inputs job: inputs/inp-job.yml tool: inputs/inp.cwl should_fail: false output: {} - doc: Test for Array Inputs section + id: array-inputs job: inputs/array-inputs-job.yml tool: inputs/array-inputs.cwl output: @@ -29,11 +32,13 @@ size: 60 - doc: Test for Include and Exclusive Inputs section (1st example) + id: include-exclusive-inputs1 job: inputs/record-job1.yml tool: inputs/record.cwl should_fail: true - doc: Test for Include and Exclusive Inputs section (2nd example) + id: include-exclusive-inputs2 job: inputs/record-job2.yml tool: inputs/record.cwl output: @@ -45,6 +50,7 @@ size: 23 - doc: Test for Include and Exclusive Inputs section (3rd example) + id: include-exclusive-inputs3 job: inputs/record-job3.yml tool: inputs/record.cwl output: @@ -57,6 +63,7 @@ # Additional Arguments and Parameters - doc: Test for Additional Arguments and Parameters section + id: additional-arguments-and-parameters job: additional-arguments-and-parameters/arguments-job.yml tool: additional-arguments-and-parameters/arguments.cwl output: @@ -69,6 +76,7 @@ # Parameter References - doc: Test for Parameter References section + id: parameter-references job: parameter-references/tar-param-job.yml tool: parameter-references/tar-param.cwl output: @@ -81,6 +89,7 @@ # Outputs - doc: Test for Outputs section + id: outputs-section job: outputs/tar-job.yml tool: outputs/tar.cwl output: @@ -92,6 +101,7 @@ size: 0 - doc: Test for Outputs, Capturing Standard Output section + id: outputs-capturing-stdout job: outputs/echo-job.yml tool: outputs/stdout.cwl output: @@ -103,6 +113,7 @@ size: 13 - doc: Test for Outputs, Array Outputs section + id: outputs-array-outputs job: outputs/array-outputs-job.yml tool: outputs/array-outputs.cwl output: @@ -121,6 +132,7 @@ # Custom Types # NOTE: The checksum is always changed for every execution - doc: Test for Custom Types section + id: custom-types job: custom-types/custom-types.yml tool: custom-types/custom-types.cwl output: @@ -128,10 +140,11 @@ class: File basename: rich_sparse_otu_table.hdf5 location: Any - size: 46992 + size: 46936 # Workflows - doc: Test for Workflows section + id: workflows-1st-workflow job: workflows/1st-workflow-job.yml tool: workflows/1st-workflow.cwl output: @@ -144,6 +157,7 @@ - doc: Test for Workflows, Nested Workflows section tool: workflows/nestedworkflows.cwl + id: workflows-nestedworkflows output: classout: class: File @@ -164,6 +178,7 @@ # Environment Variables - doc: Test for Environment Variables section + id: environment-variables job: environment-variables/echo-job.yml tool: environment-variables/env.cwl output: @@ -174,6 +189,7 @@ # Using Containers - doc: Test for Using Containers section + id: using-containers job: using-containers/docker-job.yml tool: using-containers/docker.cwl output: @@ -186,6 +202,7 @@ # Creating files at runtime - doc: Test for Creating files at runtime section + id: creating-files-at-runtime job: creating-files-at-runtime/echo-job.yml tool: creating-files-at-runtime/createfile.cwl output: @@ -198,6 +215,7 @@ # Staging input files - doc: Test for Staging input files section + id: staging-input-files job: staging-input-files/arguments-job.yml tool: staging-input-files/linkfile.cwl output: @@ -211,6 +229,7 @@ # File formats # NOTE: The checksum and size is always changed for every execution - doc: Test for File formats section + id: file-formats job: file-formats/sample.yml tool: file-formats/metadata_example.cwl output: @@ -222,6 +241,7 @@ # Metadata and authorship # NOTE: The checksum and size is always changed for every executions - doc: Test for Metadata and authorship section (1st example) + id: metadata-and-authorship job: metadata-and-authorship/sample.yml tool: metadata-and-authorship/metadata_example2.cwl output: @@ -231,6 +251,7 @@ location: Any - doc: Test for Metadata and authorship section (extended example) + id: metadata-and-authorship-extended job: metadata-and-authorship/sample.yml tool: metadata-and-authorship/metadata_example3.cwl output: diff --git a/src/_includes/cwl/environment-variables/env.cwl b/src/_includes/cwl/environment-variables/env.cwl index 7e4d4087..6162a04c 100755 --- a/src/_includes/cwl/environment-variables/env.cwl +++ b/src/_includes/cwl/environment-variables/env.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: env requirements: diff --git a/src/_includes/cwl/expressions/expression.cwl b/src/_includes/cwl/expressions/expression.cwl old mode 100644 new mode 100755 index da1e75dc..a04695bb --- a/src/_includes/cwl/expressions/expression.cwl +++ b/src/_includes/cwl/expressions/expression.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: echo diff --git a/src/_includes/cwl/file-formats/metadata_example.cwl b/src/_includes/cwl/file-formats/metadata_example.cwl old mode 100644 new mode 100755 index 9485522b..bcaaff70 --- a/src/_includes/cwl/file-formats/metadata_example.cwl +++ b/src/_includes/cwl/file-formats/metadata_example.cwl @@ -1,5 +1,5 @@ #!/usr/bin/env cwl-runner -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool label: An example tool demonstrating metadata. diff --git a/src/_includes/cwl/inputs/array-inputs.cwl b/src/_includes/cwl/inputs/array-inputs.cwl index bef63538..0e5d6e44 100755 --- a/src/_includes/cwl/inputs/array-inputs.cwl +++ b/src/_includes/cwl/inputs/array-inputs.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool inputs: filesA: diff --git a/src/_includes/cwl/inputs/inp.cwl b/src/_includes/cwl/inputs/inp.cwl index 576c16da..20ac1d79 100755 --- a/src/_includes/cwl/inputs/inp.cwl +++ b/src/_includes/cwl/inputs/inp.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: echo inputs: diff --git a/src/_includes/cwl/inputs/record.cwl b/src/_includes/cwl/inputs/record.cwl index e33cb44a..e69a1ac9 100755 --- a/src/_includes/cwl/inputs/record.cwl +++ b/src/_includes/cwl/inputs/record.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool inputs: dependent_parameters: diff --git a/src/_includes/cwl/metadata-and-authorship/metadata_example2.cwl b/src/_includes/cwl/metadata-and-authorship/metadata_example2.cwl old mode 100644 new mode 100755 index 745c1779..31b92dd7 --- a/src/_includes/cwl/metadata-and-authorship/metadata_example2.cwl +++ b/src/_includes/cwl/metadata-and-authorship/metadata_example2.cwl @@ -1,5 +1,5 @@ #!/usr/bin/env cwl-runner -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool label: An example tool demonstrating metadata. @@ -45,5 +45,5 @@ $namespaces: edam: http://edamontology.org/ $schemas: - - https://schema.org/version/latest/schemaorg-current-https.rdf - - http://edamontology.org/EDAM_1.18.owl + - https://schema.org/version/latest/schemaorg-current-https.rdf + - http://edamontology.org/EDAM_1.18.owl diff --git a/src/_includes/cwl/metadata-and-authorship/metadata_example3.cwl b/src/_includes/cwl/metadata-and-authorship/metadata_example3.cwl old mode 100644 new mode 100755 index 09d31e4a..1c8a5858 --- a/src/_includes/cwl/metadata-and-authorship/metadata_example3.cwl +++ b/src/_includes/cwl/metadata-and-authorship/metadata_example3.cwl @@ -1,5 +1,5 @@ #!/usr/bin/env cwl-runner -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool label: An example tool demonstrating metadata. @@ -48,9 +48,9 @@ s:keywords: edam:topic_0091 , edam:topic_0622 s:programmingLanguage: C $namespaces: - s: https://schema.org/ - edam: http://edamontology.org/ + s: https://schema.org/ + edam: http://edamontology.org/ $schemas: - - https://schema.org/version/latest/schemaorg-current-http.rdf - - http://edamontology.org/EDAM_1.18.owl + - https://schema.org/version/latest/schemaorg-current-https.rdf + - http://edamontology.org/EDAM_1.18.owl diff --git a/src/_includes/cwl/outputs/array-outputs.cwl b/src/_includes/cwl/outputs/array-outputs.cwl index 2d6654ea..9d7d8022 100755 --- a/src/_includes/cwl/outputs/array-outputs.cwl +++ b/src/_includes/cwl/outputs/array-outputs.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: touch inputs: diff --git a/src/_includes/cwl/outputs/stdout.cwl b/src/_includes/cwl/outputs/stdout.cwl index 5908f88f..53e2db0e 100755 --- a/src/_includes/cwl/outputs/stdout.cwl +++ b/src/_includes/cwl/outputs/stdout.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: echo stdout: output.txt diff --git a/src/_includes/cwl/outputs/tar.cwl b/src/_includes/cwl/outputs/tar.cwl old mode 100644 new mode 100755 index f1b45964..187fe05f --- a/src/_includes/cwl/outputs/tar.cwl +++ b/src/_includes/cwl/outputs/tar.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: [tar, --extract] inputs: diff --git a/src/_includes/cwl/parameter-references/tar-param.cwl b/src/_includes/cwl/parameter-references/tar-param.cwl index 87ad9e0f..913b7fdd 100644 --- a/src/_includes/cwl/parameter-references/tar-param.cwl +++ b/src/_includes/cwl/parameter-references/tar-param.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: [tar, --extract] inputs: diff --git a/src/_includes/cwl/specifying-software-requirements/custom-types.cwl b/src/_includes/cwl/specifying-software-requirements/custom-types.cwl old mode 100644 new mode 100755 index 044db0bf..70cb9dee --- a/src/_includes/cwl/specifying-software-requirements/custom-types.cwl +++ b/src/_includes/cwl/specifying-software-requirements/custom-types.cwl @@ -1,4 +1,5 @@ -cwlVersion: v1.0 +#!/usr/bin/env cwl-runner +cwlVersion: v1.2 class: CommandLineTool label: "InterProScan: protein sequence classifier" diff --git a/src/_includes/cwl/staging-input-files/linkfile.cwl b/src/_includes/cwl/staging-input-files/linkfile.cwl old mode 100644 new mode 100755 index ffeb6996..43cf79bc --- a/src/_includes/cwl/staging-input-files/linkfile.cwl +++ b/src/_includes/cwl/staging-input-files/linkfile.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool hints: DockerRequirement: diff --git a/src/_includes/cwl/using-containers/docker.cwl b/src/_includes/cwl/using-containers/docker.cwl index 9f6090a1..35c5e842 100755 --- a/src/_includes/cwl/using-containers/docker.cwl +++ b/src/_includes/cwl/using-containers/docker.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: node hints: diff --git a/src/_includes/cwl/workflows/1st-workflow.cwl b/src/_includes/cwl/workflows/1st-workflow.cwl old mode 100644 new mode 100755 index 24b19bd2..4da55143 --- a/src/_includes/cwl/workflows/1st-workflow.cwl +++ b/src/_includes/cwl/workflows/1st-workflow.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: Workflow inputs: tarball: File diff --git a/src/_includes/cwl/workflows/arguments.cwl b/src/_includes/cwl/workflows/arguments.cwl old mode 100644 new mode 100755 index c26d2642..ff80076a --- a/src/_includes/cwl/workflows/arguments.cwl +++ b/src/_includes/cwl/workflows/arguments.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool label: Example trivial wrapper for Java 9 compiler hints: diff --git a/src/_includes/cwl/workflows/hello_world.cwl b/src/_includes/cwl/workflows/hello_world.cwl index 48e2f792..1c39bca4 100755 --- a/src/_includes/cwl/workflows/hello_world.cwl +++ b/src/_includes/cwl/workflows/hello_world.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: echo inputs: diff --git a/src/_includes/cwl/workflows/hello_world_to_stdout.cwl b/src/_includes/cwl/workflows/hello_world_to_stdout.cwl index 1d550fc2..39e8e2d4 100755 --- a/src/_includes/cwl/workflows/hello_world_to_stdout.cwl +++ b/src/_includes/cwl/workflows/hello_world_to_stdout.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: echo inputs: diff --git a/src/_includes/cwl/workflows/nestedworkflows.cwl b/src/_includes/cwl/workflows/nestedworkflows.cwl old mode 100644 new mode 100755 index 75a4f00a..c43e5096 --- a/src/_includes/cwl/workflows/nestedworkflows.cwl +++ b/src/_includes/cwl/workflows/nestedworkflows.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: Workflow inputs: [] diff --git a/src/_includes/cwl/workflows/scatter-nested-workflow.cwl b/src/_includes/cwl/workflows/scatter-nested-workflow.cwl old mode 100644 new mode 100755 index 9b2f6aa6..7bc6c1d7 --- a/src/_includes/cwl/workflows/scatter-nested-workflow.cwl +++ b/src/_includes/cwl/workflows/scatter-nested-workflow.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: Workflow requirements: diff --git a/src/_includes/cwl/workflows/scatter-two-steps.cwl b/src/_includes/cwl/workflows/scatter-two-steps.cwl old mode 100644 new mode 100755 index 57b9ca2e..c2963cfc --- a/src/_includes/cwl/workflows/scatter-two-steps.cwl +++ b/src/_includes/cwl/workflows/scatter-two-steps.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: Workflow requirements: diff --git a/src/_includes/cwl/workflows/scatter-workflow.cwl b/src/_includes/cwl/workflows/scatter-workflow.cwl old mode 100644 new mode 100755 index 80a334f3..954e1660 --- a/src/_includes/cwl/workflows/scatter-workflow.cwl +++ b/src/_includes/cwl/workflows/scatter-workflow.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: Workflow requirements: diff --git a/src/_includes/cwl/workflows/tar-param.cwl b/src/_includes/cwl/workflows/tar-param.cwl old mode 100644 new mode 100755 index 87ad9e0f..913b7fdd --- a/src/_includes/cwl/workflows/tar-param.cwl +++ b/src/_includes/cwl/workflows/tar-param.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: [tar, --extract] inputs: diff --git a/src/_includes/cwl/workflows/wc-tool.cwl b/src/_includes/cwl/workflows/wc-tool.cwl index c3064634..397df77e 100755 --- a/src/_includes/cwl/workflows/wc-tool.cwl +++ b/src/_includes/cwl/workflows/wc-tool.cwl @@ -1,6 +1,5 @@ #!/usr/bin/env cwl-runner - -cwlVersion: v1.0 +cwlVersion: v1.2 class: CommandLineTool baseCommand: wc arguments: ["-c"] diff --git a/src/_static/css/custom.css b/src/_static/css/custom.css new file mode 100644 index 00000000..9f53adff --- /dev/null +++ b/src/_static/css/custom.css @@ -0,0 +1,10 @@ +body { + /* + * These settings are copied from the https://commonwl.org website style + * for consistency. + */ + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 16px; + line-height: 24px; + color: rgb(33, 37, 41); +} diff --git a/src/_templates/layout.html b/src/_templates/layout.html deleted file mode 100644 index e55cff18..00000000 --- a/src/_templates/layout.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends '!layout.html' %} - -{% block footer %} -
-
-
- -
-
-
- -{{ super() }} -{% endblock %} diff --git a/src/_templates/project-links.html b/src/_templates/project-links.html new file mode 100644 index 00000000..e842f85b --- /dev/null +++ b/src/_templates/project-links.html @@ -0,0 +1,15 @@ +{# Displays project-related links. #} + diff --git a/src/_templates/sidebar-nav-bs.html b/src/_templates/sidebar-nav-bs.html deleted file mode 100644 index 73c66bee..00000000 --- a/src/_templates/sidebar-nav-bs.html +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/src/conf.py b/src/conf.py index c893d8a5..6d1ca68b 100644 --- a/src/conf.py +++ b/src/conf.py @@ -20,12 +20,12 @@ # -- Project information ----------------------------------------------------- -project = 'Common Workflow Language User Guide' -copyright = '2013, CWL Project Team' -author = 'CWL Project Team' +project = "Common Workflow Language User Guide" +copyright = "2013, CWL Project Team" +author = "CWL Project Team" # The full version, including alpha/beta/rc tags -release = '0.1' +release = "0.1" # Define the version we use for matching in the version switcher. version_match = os.environ.get("READTHEDOCS_VERSION") @@ -37,35 +37,36 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'myst_parser', - 'sphinx.ext.graphviz', - 'sphinx_reredirects', - 'cwl.sphinx.runcmd' + "myst_parser", + "sphinx.ext.graphviz", + "sphinx_reredirects", + "sphinx_favicon", + "cwl.sphinx.runcmd", ] # myst-parser settings myst_heading_anchors = 4 myst_enable_extensions = [ - 'colon_fence', - 'deflist', - 'substitution', - 'replacements', + "colon_fence", + "deflist", + "substitution", + "replacements", ] -CWL_VERSION = 'v1.2' +CWL_VERSION = "v1.2" myst_substitutions = { - 'repo_url': 'https://github.com/common-workflow-language/user_guide/', - 'source_branch': 'main', - 'cwl_version': f'`{CWL_VERSION}`', - 'cwl_version_text': f'{CWL_VERSION}' + "repo_url": "https://github.com/common-workflow-language/user_guide/", + "source_branch": "main", + "cwl_version": f"`{CWL_VERSION}`", + "cwl_version_text": f"{CWL_VERSION}", } -master_doc = 'index' +master_doc = "index" # Set the default role so we can use `foo` instead of ``foo`` -default_role = 'literal' +default_role = "literal" # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -73,100 +74,128 @@ # CONTRIBUTING.md is referenced in the footer, but not linked via Sphinx # aio.md is also referenced in one page, but not directly via Sphinx, hence the exclusions here. exclude_patterns = [ - '**/Thumbs.db', - '**/.DS_Store', - '**/.git', - '.idea', - '.github', - '**/_build', - '**/_includes', - 'cwl', - 'venv', - 'README.md', - 'CODE_OF_CONDUCT.md', - 'CONTRIBUTING.md' + "**/Thumbs.db", + "**/.DS_Store", + "**/.git", + ".idea", + ".github", + "**/_build", + "**/_includes", + "cwl", + "venv", + "README.md", + "CODE_OF_CONDUCT.md", + "CONTRIBUTING.md", ] -source_suffix = ['.rst', '.md'] +source_suffix = [".rst", ".md"] # -- Options for URL redirects ----------------------------------------------- redirects = { - '01-introduction/index.md': '../introduction/quick-start.html', - '02-1st-example/index.md': '../introduction/quick-start.html', - '03-input/index.md': '../topics/inputs.html', - '04-output/index.md': '../topics/outputs.html', - '05-stdout/index.md': '../topics/outputs.html', - '06-params/index.md': '../topics/parameter-references.html', - '07-containers/index.md': '../topics/using-containers.html', - '08-arguments/index.md': '../topics/additional-arguments-and-parameters.html', - '09-array-inputs/index.md': '../topics/inputs.html', - '10-array-outputs/index.md': '../topics/outputs.html', - '11-records/index.md': '../topics/inputs.html', - '12-env/index.md': '../topics/environment-variables.html', - '13-expressions/index.md': '../topics/expressions.html', - '14-runtime/index.md': '../topics/creating-files-at-runtime.html', - '15-staging/index.md': '../topics/staging-input-files.html', - '16-file-formats/index.md': '../topics/file-formats.html', - '17-metadata/index.md': '../topics/metadata-and-authorship.html', - '19-custom-types/index.md': '../topics/custom-types.html', - '20-software-requirements/index.md': '../topics/specifying-software-requirements.html', - '21-1st-workflow/index.md': '../topics/workflows.html', - '22-nested-workflows/index.md': '../topics/workflows.html#nested-workflows', - '23-scatter-workflow/index.md': '../topics/workflows.html#scattering-workflows', - '24_conditional-workflow/index.md': '../topics/workflows.html#conditional-workflows', - 'rec-practices/index.md': '../topics/best-practices.html', - 'misc/index.md': '../faq.html', - 'episodes.md': 'index.html#table-of-contents', - 'setup.md': 'introduction/prerequisites.html', - 'extras.md': '/index.html', - 'yaml/index.md': '../topics/yaml-guide.html', - 'CODE_OF_CONDUCT.html': 'https://github.com/common-workflow-language/user_guide/blob/main/CODE_OF_CONDUCT.md' + "01-introduction/index.md": "../introduction/quick-start.html", + "02-1st-example/index.md": "../introduction/quick-start.html", + "03-input/index.md": "../topics/inputs.html", + "04-output/index.md": "../topics/outputs.html", + "05-stdout/index.md": "../topics/outputs.html", + "06-params/index.md": "../topics/parameter-references.html", + "07-containers/index.md": "../topics/using-containers.html", + "08-arguments/index.md": "../topics/additional-arguments-and-parameters.html", + "09-array-inputs/index.md": "../topics/inputs.html", + "10-array-outputs/index.md": "../topics/outputs.html", + "11-records/index.md": "../topics/inputs.html", + "12-env/index.md": "../topics/environment-variables.html", + "13-expressions/index.md": "../topics/expressions.html", + "14-runtime/index.md": "../topics/creating-files-at-runtime.html", + "15-staging/index.md": "../topics/staging-input-files.html", + "16-file-formats/index.md": "../topics/file-formats.html", + "17-metadata/index.md": "../topics/metadata-and-authorship.html", + "19-custom-types/index.md": "../topics/custom-types.html", + "20-software-requirements/index.md": "../topics/specifying-software-requirements.html", + "21-1st-workflow/index.md": "../topics/workflows.html", + "22-nested-workflows/index.md": "../topics/workflows.html#nested-workflows", + "23-scatter-workflow/index.md": "../topics/workflows.html#scattering-workflows", + "24_conditional-workflow/index.md": "../topics/workflows.html#conditional-workflows", + "rec-practices/index.md": "../topics/best-practices.html", + "misc/index.md": "../faq.html", + "episodes.md": "index.html#table-of-contents", + "setup.md": "introduction/prerequisites.html", + "extras.md": "/index.html", + "yaml/index.md": "../topics/yaml-guide.html", + "CODE_OF_CONDUCT.html": "https://github.com/common-workflow-language/user_guide/blob/main/CODE_OF_CONDUCT.md", } # -- Options for Pygments ---------------------------------------------------- -pygments_style = 'default' +pygments_style = "default" # TODO: maybe write our own lexer to customize tokens, keywords, etc? -lexers['cwl'] = YamlLexer() +lexers["cwl"] = YamlLexer() -highlight_options = { - 'default': { - 'stripall': True - } -} +highlight_options = {"default": {"stripall": True}} # -- GraphViz configuration -------------------------------------------------- from cwl.doc.graphs import create_processing_units_graph -graphviz_output_format = 'svg' +graphviz_output_format = "svg" -myst_substitutions['CWL_PROCESSING_UNITS_GRAPH'] = create_processing_units_graph() +myst_substitutions["CWL_PROCESSING_UNITS_GRAPH"] = create_processing_units_graph() # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'pydata_sphinx_theme' +html_theme = "pydata_sphinx_theme" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] +favicons = [ + { + "rel": "icon", + "sizes": "16x16", + "href": "images/favicons/cwl/favicon-16x16.png", + }, + { + "rel": "icon", + "sizes": "32x32", + "href": "images/favicons/cwl/favicon-32x32.png", + }, + { + "rel": "icon", + "sizes": "96x96", + "href": "images/favicons/cwl/favicon-96x96.png", + }, + { + "rel": "icon", + "sizes": "128x128", + "href": "images/favicons/cwl/favicon-128.png", + }, + { + "rel": "icon", + "sizes": "196x196", + "href": "images/favicons/cwl/favicon-196x196.png", + }, +] -html_logo = '_static/images/logos/cwl/CWL-Logo-HD-cropped2.png' -html_favicon = '_static/images/favicons/cwl/favicon.ico' -html_extra_path = [ - 'browserconfig.xml', - 'favicon.ico', - 'manifest.json' +html_css_files = [ + "css/custom.css", ] +html_logo = "_static/images/logos/cwl/CWL-Logo-HD-cropped2.png" +html_favicon = "_static/images/favicons/cwl/favicon.ico" + +html_extra_path = ["browserconfig.xml", "favicon.ico", "manifest.json"] + html_theme_options = { + "external_links": [ + {"name": "Community", "url": "https://www.commonwl.org/community/"}, + ], + "header_links_before_dropdown": 6, "icon_links": [ { "name": "GitHub", @@ -178,45 +207,21 @@ # "json_url": json_url, # "version_match": version_match, # }, + "sidebar_includehidden": False, "use_edit_page_button": True, "navbar_align": "content", "navbar_end": [ # "version-switcher", "theme-switcher", - "navbar-icon-links" + "navbar-icon-links", ], "show_nav_level": 2, "navigation_depth": 2, "collapse_navigation": True, "show_prev_next": True, - "favicons": [ - { - "rel": "icon", - "sizes": "16x16", - "href": "images/favicons/cwl/favicon-16x16.png" - }, - { - "rel": "icon", - "sizes": "32x32", - "href": "images/favicons/cwl/favicon-32x32.png" - }, - { - "rel": "icon", - "sizes": "96x96", - "href": "images/favicons/cwl/favicon-96x96.png" - }, - { - "rel": "icon", - "sizes": "128x128", - "href": "images/favicons/cwl/favicon-128.png" - }, - { - "rel": "icon", - "sizes": "196x196", - "href": "images/favicons/cwl/favicon-196x196.png" - } - ], - "footer_items": ["copyright"], + "footer_start": ["copyright", "sphinx-version"], + "footer_center": ["project-links"], + "footer_end": ["theme-version"], } html_context = { @@ -224,5 +229,95 @@ "github_repo": "user_guide", "github_version": "main", "doc_path": "src", - "default_mode": "light" + "default_mode": "light", } + +gettext_uuid = True +gettext_compact = "user_guide" +locale_dirs = ["../locales/"] + + +# Patched MyST parser +# from __future__ import annotations + +from docutils import nodes +from docutils.parsers.rst import Parser as RstParser +from sphinx.parsers import Parser as SphinxParser +from sphinx.util import logging + +from myst_parser.config.main import ( + MdParserConfig, + TopmatterReadError, + merge_file_level, + read_topmatter, +) +from myst_parser.mdit_to_docutils.sphinx_ import SphinxRenderer +from myst_parser.warnings_ import create_warning +from myst_parser.parsers.mdit import create_md_parser + +SPHINX_LOGGER = logging.getLogger(__name__) + + +class MystParser(SphinxParser): + """Sphinx parser for Markedly Structured Text (MyST).""" + + supported: tuple[str, ...] = ("md", "markdown", "myst") + """Aliases this parser supports.""" + + settings_spec = RstParser.settings_spec + """Runtime settings specification. + Defines runtime settings and associated command-line options, as used by + `docutils.frontend.OptionParser`. This is a concatenation of tuples of: + - Option group title (string or `None` which implies no group, just a list + of single options). + - Description (string or `None`). + - A sequence of option tuples + """ + + config_section = "myst parser" + config_section_dependencies = ("parsers",) + translate_section_name = None + + def parse(self, inputstring: str, document: nodes.document) -> None: + """Parse source text. + :param inputstring: The source string to parse + :param document: The root docutils node to add AST elements to + """ + # get the global config + config: MdParserConfig = document.settings.env.myst_config + + # update the global config with the file-level config + try: + topmatter = read_topmatter(inputstring) + except TopmatterReadError: + pass # this will be reported during the render + else: + if topmatter: + warning = lambda wtype, msg: create_warning( # noqa: E731 + document, msg, line=1, append_to=document, subtype=wtype + ) + config = merge_file_level(config, topmatter, warning) + + parser = create_md_parser(config, SphinxRenderer) + # TODO: In the first pass, the call above will use MarkdownIt over the whole document, + # populating the ``.md_env`` correctly. Over the next passes, from transforms as + # ``sphinx.transforms.i18n.Locale`` it will create a blank new document, as well + # as a new MarkdownIT parser but using just the Docutils document that is being + # translated. As a result of this, the translation has no reference-links, and it + # gives you the translation without resolving the links. Here we just re-use the + # ``md_env`` dictionary that contains the ``.references`` populated in the first + # pass, fixing i18n with MyST Parser. + env = ( + {} if not hasattr(document.settings, "md_env") else document.settings.md_env + ) + parser.options["document"] = document + parser.render(inputstring, env) + document.settings.md_env = parser.renderer.md_env + + +def setup(app): + """Sphinx setup callback.""" + + # TODO: Here we replace the MySTParser (that replaces the Sphinx default parser...), + # with our patched version above. + app.add_source_parser(MystParser, override=True) diff --git a/src/faq.md b/src/faq.md index 8e7f41a2..7f57e574 100644 --- a/src/faq.md +++ b/src/faq.md @@ -8,7 +8,7 @@ :backlinks: "top" ``` -## Non "`File`" types using `evalFrom` +## How do I create non "`File`" types using `evalFrom`? ```yaml cwlVersion: v1.0 # or v1.1 @@ -38,12 +38,12 @@ outputs: outputEval: $(self[0].contents) ``` -## Rename an input file +## How do I rename an input file? -This example shows how you can change the name of an input file +This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another -step in a workflow and don't want to work with the default names that these +step in a workflow, and don't want to work with the default names that these files were given when they were created. ```yaml @@ -56,20 +56,21 @@ requirements: entryName: $(inputs.src1.basename)_custom_extension ``` -## Rename an output file +## How do I rename an output file? -This example shows how you can change the name of an output file +This example demonstrates how to change the name of an output file from the default name given to it by a tool: ```yaml -cwlVersion: v1.0 # or v1.1 +cwlVersion: v1.0 class: CommandLineTool requirements: InlineJavascriptRequirement: {} -baseCommand: [] +baseCommand: [ touch, otu_table.txt ] -inputs: [] +inputs: + otu_table_name: string outputs: otu_table: @@ -79,7 +80,62 @@ outputs: outputEval: ${self[0].basename=inputs.otu_table_name; return self;} ``` -## Setting `self`-based input bindings for optional inputs +By modifying the `basename` field in the `outputEval` field, CWL workflow engines will rename +the file using the new name for subsequent steps or as a workflow-level output. + +## How do I reference a local script? + +There are two ways to reference a local script: + +The first method involves adding the path to a folder containing your scripts to the `PATH` environment variable. This +allows you to execute the shell script directly (without explicitly using the `sh` or `bash` commands). + +Start with adding a _shebang_ at the top of your file: + +```{code-block} +#!/bin/bash +``` + +After that, make the script executable with the command `chmod +x scriptname.sh` + +Finally, modify your `PATH` to add the directory where your script is located. +(It is good practice to use `$HOME/bin` for storing your own scripts). + +```bash +export PATH=$PATH:$HOME/bin +``` + +Now you can use `baseCommand: scriptname.sh` to run the script directly. + +```cwl +#!/bin/bash +cwlVersion: v1.0 +class: CommandLineTool +baseCommand: scriptname.sh +``` + +When you wish to share your work later, you can place your script in a software container in the Docker format. + +The second method involves including an input of `type: File` in the script itself: + +```cwl +class: CommandLineTool + +inputs: + my_script: + type: File + inputBinding: + position: 0 + + + # other inputs go here + +baseCommand: sh + +outputs: [] +``` + +## How can I set `self`-based input bindings for optional inputs? Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. @@ -106,10 +162,10 @@ baseCommand: echo outputs: [] ``` -## Model a "one-or-the-other" parameter +## How can I model a "one-or-the-other" parameter? -Below is an example of how -you can specify different strings to be added to a command line +Below is an example showing how +to specify different strings to be added to a command line, based on the value given to a Boolean parameter. ```yaml @@ -129,18 +185,18 @@ baseCommand: echo outputs: [] ``` -## Connect a solo value to an input that expects an array of that type +## How do I connect a solo value to an input that expects an array of that type? -Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) +Add a [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with -[`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput) +[`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput): > merge_nested > > The input must be an array consisting of exactly one entry for each input link. > If "merge_nested" is specified with a single link, the value from the link must be wrapped in a single-item list. -Which means "create a list with exactly these sources as elements" +Which means "create a list with exactly these sources as elements". Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` @@ -170,7 +226,7 @@ outputs: type: File outputSource: first/txt ``` -## Optional Inputs 💯 +## How do make an input optional? 💯 To make an input parameter optional, add a question mark to the type declaration. @@ -189,9 +245,9 @@ inputs: prefix: "--casava" ``` -## Enum Inputs ⚜️ +## How do I specify an input that must come from a list of predefined values (i.e. How do I use enum inputs) ? -For command-line flags that require a specific input as the argument, an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.** +For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.** ```yaml Format: @@ -209,9 +265,9 @@ Format: prefix: "--format" ``` -## Record Inputs 📀 +## How do I describe dependent or exclusive input parameters(e.g. How do I use record inputs)? -For command-line flags that are either **mutually exclusive** or **dependent**, a special record type can be defined. You can also specify null here to create optional inputs. +For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs. ```yaml #Using record inputs to create mutually exclusive inputs @@ -263,9 +319,9 @@ For command-line flags that are either **mutually exclusive** or **dependent**, inputBinding: prefix: "--chromosomes" ``` -## Setting Mutually Exclusive Parameters +## How do I set mutually exclusive parameters? -In order to properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline javascript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value. +To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value. ```yaml steps: @@ -283,14 +339,14 @@ steps: out: [indexes] ``` -## Setting Booleans +## How can I set Booleans? These can be set by using the default field ```yaml input: - default:true + default: true ``` -## Concatenating Strings in Inputs +## What should I do when concatenating strings in inputs? The valueFrom field must be used instead of default. @@ -300,7 +356,7 @@ input: My String: $(input.stringvalue) ``` -## `cwltool` errors due to filenames with space characters inside +## I get `cwltool` errors due to filenames with space characters inside. What should I do? `cwltool` does not allow some characters in filenames by default. @@ -314,7 +370,7 @@ Invalid filename: 'a space is here.txt' contains illegal characters If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`. -## CWL Parameter Reference error due to hyphen in input identifier +## What should I do when I get CWL Parameter Reference error due to hyphen in an input identifier? If `cwltool --validate` returns valid @@ -364,7 +420,7 @@ inputs: ``` -To fix this error, change `-` (hyphen) to `_` (underscore) +To fix this error, change `-` (hyphen) to `_` (underscore): ```cwl valueFrom: $(inputs.sample_input) @@ -383,7 +439,7 @@ If it is not possible to change the input identifier, then you can use an altern valueFrom: $(inputs["sample-input"]) ``` -## Use CWL and cwltool with Singularity +## How do I use CWL and cwltool with Singularity? The CWL standards are built around (optional) Docker format containers. @@ -391,7 +447,7 @@ The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards. -## Debug JavaScript expressions +## How do I debug the JavaScript in my CWL tool? You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it diff --git a/src/introduction/basic-concepts.md b/src/introduction/basic-concepts.md index 30459c8a..c6013a29 100644 --- a/src/introduction/basic-concepts.md +++ b/src/introduction/basic-concepts.md @@ -1,13 +1,13 @@ # Basic Concepts -This section describes the basic concepts for users to get started working with +This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar -with workflow managers, YAML, and comfortable following instructions for the -command-line. The other sections of the user guide cover the same concepts but -in more detail. If you are already familiar with CWL or looking for more advanced +with workflow managers, YAML, and comfortable with following instructions for the +command-line. The other sections of the user guide cover the same concepts, but +in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section. -## The CWL specification +## The CWL Specification ```{include} /_includes/what-is-cwl.md ``` @@ -22,9 +22,9 @@ The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}. -The specification version can have up to three numbers separated by `.`'s (dots). +The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like -the removal of deprecated features. The second is the minor release number, +the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification. @@ -37,7 +37,7 @@ the end of this section to [learn more](#learn-more) about it. ## Implementations An implementation of the CWL specification is any software written following -what is defined in a version of the specification document. Implementations may +what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses. @@ -47,6 +47,7 @@ in parallel across many nodes. % TODO: add a link to the Core Concepts -> Requirements section below? + ```{graphviz} :name: specification-and-implementations-graph :caption: CWL specification, implementations, and other tools. @@ -108,10 +109,10 @@ behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}: -- A command-line tool; -- An expression tool; -- An operation; -- And a workflow. +- A command-line tool. +- An expression tool. +- An operation. +- A workflow. {{ CWL_PROCESSING_UNITS_GRAPH }} @@ -120,26 +121,26 @@ A command-line tool is a wrapper for a command-line utility like `echo`, An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common -parts of a workflow execution into reusable JavaScript code, that +parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool. +Operation is an abstract process that also takes inputs, produces +outputs, and can be used in a workflow. But it is a special operation +not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide. + The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. -The inputs of a workflow can be passed to any of its steps, and +The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow. -Operation is an abstract process that also takes inputs, produces -outputs, and can be used in a workflow. But it is a special operation -not so commonly used. It is discussed in another section. - The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance: -- `InlineJavascriptWorkflow`, enables JavaScript in expressions. -- `SubworkflowFeatureRequirement`, enables nested workflows. -- `InitialWorkDirRequirement`, controls staging files in the input directory. +- [`InlineJavascriptRequirement`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement) - enables JavaScript in expressions. +- [`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement) - enables nested workflows. +- [`InitialWorkDirRequirement`](https://w3id.org/cwl/Workflow.html#InitialWorkDirRequirement) - controls staging files in the input directory. Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the @@ -149,12 +150,12 @@ runners. Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained -in detail in another section. +in detail in the [Requirements](../topics/requirements-and-hints.md) section. -## FAIR workflows +## FAIR Workflows > The FAIR principles have laid a foundation for sharing and publishing -> digital assets and, in particular, data. The FAIR principles emphasize +> digital assets, and in particular, data. The FAIR principles emphasize > machine accessibility and that all digital assets should be Findable, > Accessible, Interoperable, and Reusable. Workflows encode the methods > by which the scientific process is conducted and via which data are @@ -164,20 +165,21 @@ in detail in another section. > Workflows Community Initiative. CWL has roots in "make" and many similar tools that determine order of -execution based on dependencies between tasks. However, unlike "make", CWL +execution, based on dependencies between tasks. However, unlike "make", CWL tasks are isolated, and you must be explicit about your inputs and outputs. The benefit of explicitness and isolation are flexibility, portability, and -scalability: tools and workflows described with CWL can transparently leverage +scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors. `cwltool` also uses the PROV-O standard ontology for data provenance. -## Learn more +## Learn More - Semantic Versioning - - The CWL Specification page in the CWL website: +- The Command Line Tool Description Standard: - The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }} - The list of Implementations in the CWL website: - PROV-O: The PROV Ontology - diff --git a/src/introduction/prerequisites.md b/src/introduction/prerequisites.md index f739add6..1dc47954 100644 --- a/src/introduction/prerequisites.md +++ b/src/introduction/prerequisites.md @@ -1,18 +1,18 @@ # Prerequisites -% This page supersedes the old setup.md. We used that page as reference while +% This page supersedes the old setup page: setup.md. We used that page as a reference while % writing this documentation. The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, -`cwltool`. You can use another CWL compatible runner or workflow systems but the results and +`cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical). ```{admonition} CWL Implementations -There are many implementations of the CWL standards. Some are complete CWL runners, -others are plug-ins or extensions to workflow engines. We have a better +There are many implementations of the CWL standards. Some are complete CWL runners, while +others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section. ``` @@ -26,16 +26,14 @@ of the following options for your operating system: - Windows ```{note} -If you are using Windows, you will have to install the Windows Subsystem for Linux 2. -Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) -for details on installing WSL2. +If you are using Windows, you will have to install the Windows Subsystem for Linux 2 as documented in the +[`cwltool` documentation for Microsoft Windows users](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users). Your operating system also needs internet access and a recent version of Python (3.6+). ``` -## CWL runner +## CWL Runner % https://github.com/common-workflow-language/user_guide/issues/166 -% https://github.com/common-workflow-language/user_guide/issues/64 % https://www.synapse.org/#!Synapse:syn2813589/wiki/401462 The first thing you will need for running CWL workflows is a CWL runner. @@ -43,27 +41,15 @@ The first thing you will need for running CWL workflows is a CWL runner. is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}. -`cwltool` can be installed with `pip`. We recommend using a virtual environment -like `venv` or `conda`. The following commands will create and activate a Python -virtual environment using the `venv` module, and install `cwltool` in that -environment: - -```{code-block} console -:name: installing-cwltool-with-pip-and-venv -:caption: Installing `cwltool` with `pip` and `venv`. - -$ python -m venv venv -$ source venv/bin/activate -$ (venv) pip install -U pip setuptools wheel -$ (venv) pip install cwltool -``` +`cwltool` can be installed with `pip`, `apt`, or `conda`. We recommend using a virtual environment +like `venv` or `conda`. ```{note} -You can find the `cwl-runner` source code [here](https://github.com/common-workflow-language/cwltool/tree/main/cwlref-runner). -Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) -for other ways to install `cwltool` with `apt` and `conda`. +Visit the `cwltool` [documentation](https://cwltool.readthedocs.io/en/latest/#install) +for details on installing `cwltool`. ``` -Let's use a simple CWl tool description `true.cwl` with `cwltool`. + +Let's use a simple CWL tool description `true.cwl` with `cwltool`. ```{literalinclude} /_includes/cwl/true.cwl :language: yaml @@ -71,10 +57,10 @@ Let's use a simple CWl tool description `true.cwl` with `cwltool`. :name: true.cwl ``` -The `cwltool` command has an option to validate CWL tool and workflow descriptionss. It will parse the -CWL document, look for syntax errors, and verify that the descriptions are compliant -with the CWL standards, without running it. To validate CWL workflows (or even a -standalone command line tool description like above) pass the `--validate` option +The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the +CWL document, look for syntax errors, and verify that the workflow descriptions are compliant +with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a +standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command: ```{runcmd} cwltool --validate true.cwl @@ -89,15 +75,18 @@ You can run the CWL tool description by omitting the `--validate` option: :caption: Running `true.cwl` with `cwltool`. ``` -### cwl-runner Python module +### Generic ``cwl-runner`` alias -`cwl-runner` is an implementation-agnostic alias for CWL Runners. +`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means +that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular +CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` -directly. The `cwl-runner` alias command then chooses the correct CWL runner. +directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred +CWL implementation. This is convenient for environments with multiple CWL runners. The CWL community publishes a Python package with the name `cwlref-runner` that installs -an alias for `cwltool` under the name `cwl-runner` +an alias for `cwltool` under the name `cwl-runner`. ```{code-block} console :name: installing-cwlrunner-with-pip @@ -106,7 +95,7 @@ an alias for `cwltool` under the name `cwl-runner` $ pip install cwlref-runner ``` -Now you can validate and run your workflow with `cwl-runner` executable, +Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section. @@ -120,9 +109,9 @@ as in the previous section. :caption: Running `true.cwl` with `cwl-runner`. ``` -Another way to execute `cwl-runner` is invoking the file directly. For that, -the first thing you need to copy `true.cwl` workflow into a new file -`true_shebang.cwl` and include a special first line, a *shebang*: +Another way to execute `cwl-runner` is by invoking the file directly. For that, +the first thing you need to do is copy `true.cwl` workflow into a new file: +`true_shebang.cwl`, and include a special first line, a *shebang*: ```{literalinclude} /_includes/cwl/true_shebang.cwl :language: cwl @@ -139,7 +128,7 @@ Now you can make the file `true_shebang.cwl` executable with `chmod u+x`. $ chmod u+x true.cwl ``` -And finally you can execute it directly in the command-line and the program +And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file. @@ -152,9 +141,8 @@ rest of the file. The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is -considered a good practice to use `/usr/bin/env ` since it -looks for the `` program in the system `PATH`, instead of -using a hard-coded location. +considered a good practice to use `/usr/bin/env [executable]` rather than using a hard-coded location, since `/usr/bin/env [executable]` +looks for the `[executable]` program in the system `PATH`, ``` ## Text Editor @@ -164,7 +152,7 @@ an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs. There are extensions for Visual Studio Code and WebStorm that provide -integration with CWL, with customized syntax highlighting and better +integration with CWL, and features such as customized syntax highlighting and better auto-complete: - Visual Studio Code with the Benten (CWL) plugin - @@ -182,7 +170,7 @@ Follow the instructions in the Docker documentation to install it for your operating system: . You do not need to know how to write and build Docker containers. In the -rest of the user guide we will use existing Docker images for running +rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers. @@ -192,7 +180,7 @@ Singularity. You can also use alternative container registries for pulling images. ``` -## Learn more +## Learn More - The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts. - The Python `venv` module: diff --git a/src/introduction/quick-start.md b/src/introduction/quick-start.md index 98476fcf..0e18127b 100644 --- a/src/introduction/quick-start.md +++ b/src/introduction/quick-start.md @@ -11,7 +11,7 @@ must be comfortable following instructions for the command-line. CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated -with comments: +with comments. Note that comments start with `#`: ```{literalinclude} /_includes/cwl/hello_world.cwl :language: cwl @@ -29,7 +29,7 @@ for the sake of simplicity, we are using the term “workflow” here. You will more about this in the [basic concepts](basic-concepts.md) section. ``` -## Installing a CWL runner +## Installing a CWL Runner `cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the @@ -51,7 +51,7 @@ of software and libraries used for following the rest of this user guide. ## Running "Hello World" The usage of the `cwltool` command-line executable is basically -`cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the +`cwltool [OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option: ```{runcmd} cwltool hello_world.cwl @@ -91,7 +91,7 @@ a requirement. You can choose any name for your workflows and Inputs Object files. ``` -## Learn more +## Learn More Continue reading the next sections of this User Guide! - [List of CWL Implementations](https://www.commonwl.org/implementations). diff --git a/src/topics/best-practices.md b/src/topics/best-practices.md index fe0d663f..52bb5097 100644 --- a/src/topics/best-practices.md +++ b/src/topics/best-practices.md @@ -1,8 +1,8 @@ # Best Practices -Below are a set of recommended good practices to keep in mind when writing a +The following 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 +are presented for consideration on a scale of usefulness: although more is better, not all are required. - No `type: string` parameters for names of input or reference @@ -10,15 +10,15 @@ all are required. - A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this - document. For example if the workflow is shared publicly, licensing terms have to be clear so that - a future user can understand under what conditions they can run the workflow, modify it and/or - combine it with other workflows. For this reason please consider including a license field in the + document. For example, if the workflow is shared publicly, licensing terms must be clear so that + a future user understands under what conditions they can run the workflow, modify it and/or + combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]. If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. - Construct the metadata field for the licence by providing a URL of the form + Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license. @@ -34,15 +34,15 @@ all are required. # other s: declarations ``` - For more examples of providing metadata within CWL descriptions, see + For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md). - Include [attribution information][license-example] for the author(s) of - the CWL tool or workflow description. Use unambiguous identifiers like + the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]. - In tool descriptions, list dependencies using short name(s) under - `SoftwareRequirement`. + [`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement). - Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format. @@ -53,30 +53,30 @@ all are required. `result`, `input`, `output`, and so forth. - In tool descriptions, include a list of version(s) of the tool that are - known to work with this description under `SoftwareRequirement`. + known to work with this description under [`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement). - `format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. 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][iana-types] (also known as MIME types). For - non-bioinformatics tools use or build an appropriate ontology/controlled + non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it. - Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`. -- Each `CommandLineTool` description should focus on a single operation +- Each [`CommandLineTool`](https://w3id.org/cwl/CommandLineTool.html#CommandLineTool) description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your - tool descriptions with options that you don't need/use. + tool descriptions with options that you don't need or use. - Custom types should be defined with one external YAML per type definition for re-use. -- Include a top level short `label` summarising the tool/workflow. +- Include a top-level short `label` summarising the tool/workflow. -- 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` +- 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). - Use `type: enum` instead of `type: string` for elements with a fixed diff --git a/src/topics/command-line-tool.md b/src/topics/command-line-tool.md index 2977e3a1..c4391994 100644 --- a/src/topics/command-line-tool.md +++ b/src/topics/command-line-tool.md @@ -63,3 +63,24 @@ and in the [Outputs](../topics/outputs.md) sections. % % - Spaces in commands https://github.com/common-workflow-language/user_guide/issues/39 % - Arguments (tell the reader the different use cases for arguments and inputs, tell them there is a section about inputs) + + +## Network Access +This indicates whether a process requires outgoing IPv4/IPv6 network +access. Starting with CWL v1.1, programs are not granted network +access by default, so you must include the requirement for network +access in the specification of your tool. + +```cwl +cwlVersion: v1.2 +class: CommandLineTool + +requirements: + NetworkAccess: + networkAccess: true +``` + +```{note} +CWL v1.0 command-line tools that are upgraded to v1.1 +or v1.2 or v1.2 will have `networkAccess: true` set automatically. +``` diff --git a/src/topics/creating-files-at-runtime.md b/src/topics/creating-files-at-runtime.md index 9a652b62..b2929e2e 100644 --- a/src/topics/creating-files-at-runtime.md +++ b/src/topics/creating-files-at-runtime.md @@ -4,7 +4,7 @@ Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script. -To generate such files, we can use the `InitialWorkDirRequirement`. +To generate such files, we can use the [`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement). ```{literalinclude} /_includes/cwl/creating-files-at-runtime/createfile.cwl :language: cwl diff --git a/src/topics/custom-types.md b/src/topics/custom-types.md index f0b59caf..1dca7d44 100644 --- a/src/topics/custom-types.md +++ b/src/topics/custom-types.md @@ -7,7 +7,7 @@ customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly. The example below is a CWL description of the [biom convert format][biom] tool for -converting a standard biom table file to hd5 format. +converting a standard biom table file to hdf5 format. ```{literalinclude} /_includes/cwl/custom-types/custom-types.cwl :language: cwl @@ -21,7 +21,7 @@ converting a standard biom table file to hd5 format. :name: custom-types.yml ``` -___Note:___ To follow the example below, you need to [download the example input file](https://raw.githubusercontent.com/common-workflow-language/user_guide/main/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`: +___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`: ```{code-block} console $ wget https://github.com/common-workflow-language/user_guide/raw/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom @@ -48,7 +48,7 @@ the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that -tells the tool to create an OTU table in hd5 format. +tells the tool to create an OTU table in hdf5 format. The contents of the YAML file describing the custom type are given below: @@ -74,7 +74,7 @@ requirements: ``` Note also that the author of this CWL description has also included -`ResourceRequirement`s, specifying the minimum amount of RAM and number of cores +[`ResourceRequirement`](https://w3id.org/cwl/CommandLineTool.html#ResourceRequirement)s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide. diff --git a/src/topics/expression-tool.md b/src/topics/expression-tool.md index e9de8a9c..85cdce3a 100644 --- a/src/topics/expression-tool.md +++ b/src/topics/expression-tool.md @@ -6,7 +6,7 @@ meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output. Similar to the command-line tool it requires `inputs` and `outputs`. -But instead of `baseCommand`, it requires an `expression` attribute. +But instead of `baseCommand`, it requires an [`expression`](https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional)) attribute. % TODO: Fix the missing link the graph below. We cannot have % it here as this file is included in two other files. @@ -64,7 +64,7 @@ expression: | ```{note} -We had to use an `InlineJavascriptRequirement` as our expression +We had to use an [`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement) as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement. ``` diff --git a/src/topics/expressions.md b/src/topics/expressions.md index eebc027b..a2dc79ae 100644 --- a/src/topics/expressions.md +++ b/src/topics/expressions.md @@ -1,7 +1,7 @@ # Expressions If you need to manipulate input parameters, include the requirement -`InlineJavascriptRequirement` and then anywhere a parameter reference is +[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement) and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner. @@ -80,7 +80,7 @@ only in certain fields. These are: - From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding) - `glob` - `outputEval` -- From `Workflow` +- From [`Workflow`](https://w3id.org/cwl/Workflow.html) - From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter) - `format` - `secondaryFiles` @@ -113,9 +113,9 @@ only in certain fields. These are: [file-prop]: https://www.commonwl.org/v1.0/CommandLineTool.html#File -## Using external libraries and inline JavaScript code with `expressionLib` +## Using External Libraries and Inline JavaScript Code with `expressionLib` -The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute +The requirement [`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement) supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code. diff --git a/src/topics/file-formats.md b/src/topics/file-formats.md index 54dee779..e1d0f5fa 100644 --- a/src/topics/file-formats.md +++ b/src/topics/file-formats.md @@ -1,7 +1,7 @@ # File Formats -Tools and workflows can take `File` types as input and produce them as output. -We also recommend indicating the format for `File` types. This helps document +Tools and workflows can take [`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input and produce them as output. +We also recommend indicating the format for [`File`](https://w3id.org/cwl/CommandLineTool.html#File) types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files. diff --git a/src/topics/inputs.md b/src/topics/inputs.md index 6733f47f..e4e162b9 100644 --- a/src/topics/inputs.md +++ b/src/topics/inputs.md @@ -6,7 +6,7 @@ The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter. -Available primitive types are *string*, *int*, *long*, *float*, *double*, +Available primitive types are *string*, *boolean*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*. @@ -31,7 +31,7 @@ Create a file called `inp-job.yml`: ````{note} You can use `cwltool` to create a template input object. That saves you from having -to type all the input parameters in a input object file: +to type all the input parameters in an input object file: ```{runcmd} cwltool --make-template inp.cwl :working-directory: src/_includes/cwl/inputs @@ -56,7 +56,7 @@ two commands and the expected output from the command line: ```{runcmd} cwltool inp.cwl inp-job.yml :working-directory: src/_includes/cwl/inputs -```` +``` ```{tip}

Where did those `/tmp` paths come from?

@@ -67,7 +67,7 @@ the tools aren't accidentally accessing files that were not explicitly specified ``` -The field `inputBinding` is optional and indicates whether and how the +The field [`inputBinding`](https://w3id.org/cwl/CommandLineTool.html#Input_binding) is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail. @@ -223,7 +223,7 @@ In the first example, you can't provide `itemA` without also providing `itemB`. ```{runcmd} cwltool record.cwl record-job2.yml :working-directory: src/_includes/cwl/inputs :emphasize-lines: 4, 10-11, 23 -```` +``` ```{code-block} console $ cat output.txt @@ -241,8 +241,8 @@ matching item (`itemC`) is added to the command line and remaining item (`itemD` ```{runcmd} cwltool record.cwl record-job3.yml :working-directory: src/_includes/cwl/inputs -:emphasize-lines: 9-10, 22 -```` +:emphasize-lines: 9-10, 21 +``` ```{code-block} console $ cat output.txt @@ -254,10 +254,11 @@ command line. ### Exclusive Input Parameters with Expressions -If you use exclusive input parameters combined with expressions, you need to be -aware that the `inputs` JavaScript object will contain one of the exclusive -input values. This means that you might need to use an **or** boolean operator -to check which values are present. +If you use exclusive input parameters and reference them in expressions, you +need to be aware that the `inputs` JavaScript object will contain one of the +possible, mutually-exclusive input values. Because the types of these exclusive +values may differ, you may need to check which type is in use when you +reference the properties of the `input` object. Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum. @@ -268,17 +269,17 @@ that accepts `null` (i.e. no value provided), or any value from an enum. :name: exclusive-parameter-expressions.cwl ``` -Note how the JavaScript expression uses the value of the exclusive input parameter -without taking into consideration a `null` value. If you provide a valid value, -such as “fasta” (one of the values of the enum), your command should execute -successfully: +Note how the JavaScript expression uses the value of the exclusive input +parameter without taking into consideration a `null` value. If you provide a +valid value, such as `fasta` (one of the possible values of the enum), your +command should execute successfully: ```{runcmd} cwltool exclusive-parameter-expressions.cwl --file_format fasta :working-directory: src/_includes/cwl/inputs -```` +``` However, if you do not provide any input value, then `file_format` will be -evaluated to a `null` value, which does not match the expected type for the +evaluated to `null`, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow. ```{runcmd} cwltool exclusive-parameter-expressions.cwl @@ -286,10 +287,17 @@ output field (a `string`), resulting in failure when running your workflow. :emphasize-lines: 5-10 ``` -To correct it, you must remember to use an or operator in your JavaScript expression -when using exclusive parameters, or any parameter that allows `null`. For example, -the expression could be changed to `$(inputs.file_format || 'auto')`, to have -a default value if none was provided in the command line or job input file. +To correct it, you should explicitly handle the possibility of a `null` value. +For example, the expression could be changed to `$(inputs.file_format || +'auto')`, to have a default value `"auto"` if none was provided in the command +line or job input file. + +Here, the boolean “or” operator `||` in JavaScript is used for its +_short-circuiting_ property. If `inputs.file_format` is “true” in a boolean +context (e.g. a valid non-empty string from the enum), the evaluation of the +expression stops at the first operand of `||`; it “short-circuits”. If however +`inputs.file_format` is `null`, the whole expression’s value becomes that of +the second operand, which is why a reasonable default can be provided there. % TODO % diff --git a/src/topics/metadata-and-authorship.md b/src/topics/metadata-and-authorship.md index b71acf54..57850533 100644 --- a/src/topics/metadata-and-authorship.md +++ b/src/topics/metadata-and-authorship.md @@ -36,6 +36,7 @@ requirements in order to use the tool, and a few more metadata fields. :language: cwl :caption: "`metadata_example3.cwl`" :name: metadata_example3.cwl +:emphasize-lines: 8-10, 47-48 ``` [schema-salad]: https://www.commonwl.org/v1.0/SchemaSalad.html#Explicit_context diff --git a/src/topics/operations.md b/src/topics/operations.md index 19f8c817..1d601eba 100644 --- a/src/topics/operations.md +++ b/src/topics/operations.md @@ -1,6 +1,6 @@ # Operations -Operation is a type of CWL process just like a workflow, a command line tool, or +An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed. @@ -13,16 +13,16 @@ you are ready to submit the workflow to a CWL runner: :caption: "`operations.cwl`" ``` -The `uppercase` step of the workflow is an operation. It can be used like -use a command line tool or an expression. You can also plot it with the +The `uppercase` step of the workflow is an operation. It can appear where a +command line tool or an expression is expected. You can also plot it with the CWL Viewer or `cwltool`: ```{runcmd} cwltool --print-dot operations.cwl :working-directory: src/_includes/cwl/operations/ ``` -The output of the command above can be rendered with a Graphviz renderer. The following -image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx): +The output of the command above can be rendered `cwltool --print-dot operations.cwl | dot -Tsvg > +operations.svg ; open operations.svg`. ```{graphviz} @@ -52,8 +52,8 @@ style=dashed; } ``` -If you try running it with `cwltool` the command will fail, since `cwltool` -does not have enough information to know how to execute it: +The operation file will fail to run with `cwltool` because `cwltool` +lacks the necessary information to execute it: ```{runcmd} cwltool operations.cwl --message Hello :working-directory: src/_includes/cwl/operations/ diff --git a/src/topics/outputs.md b/src/topics/outputs.md index accf5caf..b2513f32 100644 --- a/src/topics/outputs.md +++ b/src/topics/outputs.md @@ -11,16 +11,18 @@ When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files -themselves, or come from examining the content of those files. +themselves, or the result of examining the content of those files. The following example demonstrates how to return a file that has been extracted from a tar file. ```{tip} Passing mandatory arguments to the `baseCommand` -In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. -Instead of a single string we can use an _array of strings_. The first element is the command to run, and -any subsequent elements are mandatory command line arguments +In previous examples, the `baseCommand` was just a string, with any arguments +passed as CWL inputs. Instead of a single string, we can use an _array of +strings_ as the value of `baseCommand`. The first element of the array is the +command to run, and any subsequent elements are mandatory command line +arguments ``` ```{literalinclude} /_includes/cwl/outputs/tar.cwl @@ -48,7 +50,7 @@ And now invoke `cwltool` with the tool description and the input object on the c :working-directory: src/_includes/cwl/outputs/ ``` -The field `outputBinding` describes how to set the value of each +The field [`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) describes how to set the value of each output parameter. ```cwl @@ -59,12 +61,14 @@ outputs: glob: hello.txt ``` -The `glob` field consists of the name of a file in the output directory. -If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`. +The [`glob`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding) +field consists of the pattern to match file names in the output directory. +This can simply be the file's exact name. But if you don't know the name of the +file in advance, you can use a wildcard pattern like `glob: '*.txt'`. ## Capturing Standard Output -To capture a tool's standard output stream, add the `stdout` field with +To capture a tool's standard output stream, add the [`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter. diff --git a/src/topics/parameter-references.md b/src/topics/parameter-references.md index c007b37f..d901029e 100644 --- a/src/topics/parameter-references.md +++ b/src/topics/parameter-references.md @@ -77,7 +77,7 @@ You can only use parameter references in certain fields. These are: - From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding) - `glob` - `outputEval` -- From `Workflow` +- From [`Workflow`](https://w3id.org/cwl/Workflow.html) - From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter) - `format` - `secondaryFiles` diff --git a/src/topics/specifying-software-requirements.md b/src/topics/specifying-software-requirements.md index c90a5ac5..bebd3596 100644 --- a/src/topics/specifying-software-requirements.md +++ b/src/topics/specifying-software-requirements.md @@ -2,7 +2,7 @@ Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a -`SoftwareRequirement` field in the `hints` section. +[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement) field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for. @@ -30,7 +30,7 @@ As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a -tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the +tool as a [`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement), search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to diff --git a/src/topics/staging-input-files.md b/src/topics/staging-input-files.md index 87d28c0f..8d4812b2 100644 --- a/src/topics/staging-input-files.md +++ b/src/topics/staging-input-files.md @@ -2,7 +2,7 @@ Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to -write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. +write its output files alongside the input file in the same directory. You use [`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement) to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path. diff --git a/src/topics/using-containers.md b/src/topics/using-containers.md index 903e6fdc..5b47df68 100644 --- a/src/topics/using-containers.md +++ b/src/topics/using-containers.md @@ -31,7 +31,7 @@ then print "Hello World" to the standard output. ``` Before we run this, let's just break it down and see what some bits do. Most of this -has been explained in previous sections, the only part that is really new is the `dockerRequirement` +has been explained in previous sections, the only part that is really new is the [`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement) section. ```cwl @@ -41,7 +41,7 @@ hints: dockerPull: node:slim ``` -`baseCommand: node` tells CWL that we will be running this command in a container. We +`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, @@ -49,7 +49,7 @@ the name of the container image (you can even specify the tag, which is good ide best practices when using containers for reproducible research). In this case we have used a container called `node:slim`. -Provide a "hello.js" and invoke `cwltool` providing the tool description and the +Create a Javascript file named "hello.js" and invoke `cwltool` providing the tool description and the input object on the command line: ```{literalinclude} /_includes/cwl/using-containers/hello.js diff --git a/src/topics/workflows.md b/src/topics/workflows.md index 505d6191..ff7c02d5 100644 --- a/src/topics/workflows.md +++ b/src/topics/workflows.md @@ -311,11 +311,11 @@ the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `"Hello.java"` being supplied as the `name_of_file_to_extract`. -Visualization of nestedworkflows.cwl -Visualization of 1st-workflow.cwl ``` diff --git a/src/topics/yaml-guide.md b/src/topics/yaml-guide.md index 6d05c6ed..9475f83a 100644 --- a/src/topics/yaml-guide.md +++ b/src/topics/yaml-guide.md @@ -5,7 +5,7 @@ [YAML][yaml] is a file format designed to be readable by both computers and humans. -This guide introduces the features of YAML +This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files. ```{note} @@ -25,9 +25,9 @@ You can skip this section if you are already comfortable with YAML. Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, -where whitespace after the `:` is optional. +where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - -We use [_camelCase_][camelCase] for multi-word key names +[_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example: @@ -48,7 +48,7 @@ numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below). -Values may be wrapped in quotation marks +Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `"1234"` will be treated as a character string , while `1234` will be treated as an integer. @@ -80,7 +80,7 @@ be sure to add at least one space before the `#`! When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. -Called _maps_, +Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as "children") are written @@ -101,7 +101,7 @@ inputs: # this key has an object value prefix: -f ``` -The YAML above illustrates how you can build up complex nested object +The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, @@ -126,7 +126,7 @@ graph TD ## Arrays -In certain circumstances it is necessary to provide +In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. @@ -166,8 +166,8 @@ exclusive_parameters: ## JSON Style -YAML is based on [JavaScript Object Notation (JSON)][json] -and maps and arrays can also be defined in YAML using the native JSON syntax. +YAML is based on [JavaScript Object Notation (JSON)][json]. +Maps and arrays can also be defined in YAML using the native JSON syntax. For example: ```yaml @@ -182,13 +182,13 @@ inputs: {example_flag: {type: boolean, inputBinding: {position: 1, prefix: -f}}} ``` Native JSON can be useful -to indicate where a field is being left intentionally empty +in indicating where a field is intentionally left empty (such as `[]` for an empty array), -and where it makes more sense +as well as where it makes more sense for the values to be located on the same line -(such as when providing option flags and their values in a shell command). +(For example, when providing option flags and their values in a shell command). However, as the second example above shows, -it can severely affect the readability of a YAML file +it can severely affect the readability of a YAML file, and should be used sparingly. ## Reference diff --git a/src/tutorials.md b/src/tutorials.md index 113b2368..750e5454 100644 --- a/src/tutorials.md +++ b/src/tutorials.md @@ -6,7 +6,7 @@ This is a list of tutorials provided by the CWL community. Use the `Edit this pa ## Beginner Tutorials -- [Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/) +- [Introduction to Workflows with Common Workflow Language: For novices.](https://carpentries-incubator.github.io/cwl-novice-tutorial/) ## Advanced Tutorials