diff --git a/locales/es/LC_MESSAGES/user_guide.po b/locales/es/LC_MESSAGES/user_guide.po index c38edf76..e93b30bb 100644 --- a/locales/es/LC_MESSAGES/user_guide.po +++ b/locales/es/LC_MESSAGES/user_guide.po @@ -9,16 +9,16 @@ 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" +"PO-Revision-Date: 2026-07-21 11:01+0000\n" +"Last-Translator: Libre <6n0n1m0s@proton.me>\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" +"X-Generator: Weblate 2026.8.dev0\n" "Generated-By: Babel 2.12.1\n" #: ../../LICENSE.md:2 a48279b2231348eea3f7a3b74a6362ac @@ -142,11 +142,11 @@ msgid "" "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." +"Salvo que lo exija la ley aplicable o se acuerde por escrito, el software " +"distribuido bajo esta Licencia se distribuye «tal cual», sin garantías ni " +"condiciones de ningún tipo, ya sean expresas o implícitas. Consulte la " +"Licencia para conocer el texto específico que rige los permisos y las " +"limitaciones." #: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 #: 08aa9181d5304e0fa96b28db15718559 d37fc100eb6948bba8b5e757574b2aaf @@ -157,11 +157,11 @@ msgid "" " 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." +"CWL es una forma de describir herramientas de línea de comandos y " +"conectarlas entre sí para crear flujos de trabajo. Dado que CWL es una " +"especificación y no un software específico, las herramientas y los flujos de " +"trabajo descritos mediante CWL son portables en diversas plataformas " +"compatibles con el estándar CWL." #: ../../src/episodes.md:5 ../../src/setup.md:5 #: 1361ff6bf4924efc9ce9a85785a6b381 eb254514301c491e81f72ae19c407261 @@ -175,12 +175,12 @@ msgid "" "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." +"la Guía del Usuario antigua. Por favor utilice la nueva [Tabla del Contenido]" +"(index.md#table-of-contents) para navegar por la Guía del Usuario." #: ../../src/faq.md:1 d65ad48ac6314bf0a74c34a6766561fc msgid "FAQ" -msgstr "Preguntas frecuentes" +msgstr "P+F" #: ../../src/faq.md:11 370a9659c7904ef6b5e1ae7480f82ef6 msgid "How do I create non \"`File`\" types using `evalFrom`?" @@ -188,7 +188,7 @@ 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?" +msgstr "¿Cómo renombro un archivo de entrada?" #: ../../src/faq.md:43 f6b88d9154d049d7807afa9bb0f1ac98 msgid "" @@ -197,23 +197,23 @@ msgid "" "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 " +"Este ejemplo muestra como cambiar el nombre de un archivo 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." +"están tomando archivos producidos a partir de otro paso en un flujo de " +"trabajo y no desea funcionar con los nombres predeterminados que se les " +"proporcionó cuando fueron creados." #: ../../src/faq.md:59 833510f5896b4a6eb5875d25eca5b047 msgid "How do I rename an output file?" -msgstr "¿Cómo renombro un fichero de salida?" +msgstr "¿Cómo renombro un archivo 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:" +"Este ejemplo muestra cómo cambiar el nombre de un archivo de salida del " +"nombre predeterminado que le da una herramienta:" #: ../../src/faq.md:83 d66acc583da24273980a52be03e79e91 msgid "" @@ -221,8 +221,8 @@ msgid "" " 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 " +"Cambiando el campo `basename` en `outputEval`, los motores de flujo de " +"trabajo CWL renombrarán el archivo utilizando el nuevo nombre para los pasos " "posteriores o como salida a nivel de flujo de trabajo." #: ../../src/faq.md:86 8641f105131b4ac1bca7e0a46756ef79 @@ -231,7 +231,7 @@ 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:" +msgstr "Hay dos maneras de referenciar a un script local:" #: ../../src/faq.md:90 64b140a321ca4087945339c523cc24dd msgid "" @@ -247,7 +247,7 @@ msgstr "" #: ../../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:" +msgstr "Empieza añadiendo _shebang_ al comienzo del archivo:" #: ../../src/faq.md:99 6b04a4dcdada4515b28d74aacff3537a msgid "" @@ -264,7 +264,7 @@ msgid "" 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.)" +"scripts propios.)." #: ../../src/faq.md:108 efb46b3a2d7c4c51b65998602bfa6f18 msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." @@ -277,7 +277,7 @@ 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 " +"Cuando se desee compartir su trabajo más tarde, se puede colocar su script " "en un contenedor de software en formato Docker." #: ../../src/faq.md:119 796ce8155e32486d9651f8f13bfa3148 @@ -307,7 +307,7 @@ msgstr "" #: ../../src/faq.md:165 6c98b7948059411b8e09cf03a552c5ab msgid "How can I model a \"one-or-the-other\" parameter?" -msgstr "" +msgstr "¿Cómo puedo modelar un parámetro \"uno-u-otro\"?" #: ../../src/faq.md:167 d1424da3f43c4519a4c4735f4a720341 msgid "" @@ -340,7 +340,7 @@ msgstr "" #: ../../src/faq.md:194 a00d5d96b15048a79ae099d22d63bb42 msgid "merge_nested" -msgstr "merge_nested" +msgstr "fusión_anidada" #: ../../src/faq.md:196 3a92c6cc5c2b40ffa0d692d03bad5c87 msgid "" @@ -348,15 +348,15 @@ msgid "" " 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 " +"La entrada debe ser una formación 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\"?" +"Cual significa \"crear una lista con exactamente estas fuentes como " +"elementos\"." #: ../../src/faq.md:201 0ea3de393d2f42aeb82658c85a19ec45 msgid "" @@ -455,7 +455,7 @@ 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\"" +msgstr "Pueden asignar utilizando el campo por defecto" #: ../../src/faq.md:349 972b7a5551bb43e6b9fa30e0cb713ff7 msgid "What should I do when concatenating strings in inputs?" @@ -463,20 +463,20 @@ 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`." +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 " +"Obtengo errores en `cwltool` debido a nombres de archivo 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 " +"`cwltool` no concede algunos caracteres en los nombres de archivo por " "defecto." #: ../../src/faq.md:363 0eaf834b0ca847cca6736794895f5f81 @@ -484,7 +484,7 @@ 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 " +"Por ejemplo, el nombre de archivo `aquí hay un espacio.txt` incluye 3 " "caracteres de espacio." #: ../../src/faq.md:371 7dabd8aab7a5423b842433616640bac0 @@ -492,8 +492,8 @@ 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`." +"Si no puede evitar estos caracteres peligrosos, entonces pase `--relax-path-" +"checks` a `cwltool`." #: ../../src/faq.md:373 b7ec33f38ce74ceb890f4379e4c41054 msgid "" @@ -501,11 +501,11 @@ msgid "" "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?" +"debido a un guion en un identificador de entrada?" #: ../../src/faq.md:375 e39b65947b294b20a444f18d780246f4 msgid "If `cwltool --validate` returns valid" -msgstr "Sí `cwltool --validate` devuelve válido" +msgstr "Si `cwltool --validate` devuelve válido" #: ../../src/faq.md:384 dcd42c65681b438bb541fb38ddebb536 msgid "But executing it causes an error like:" @@ -517,19 +517,19 @@ msgstr "El archivo está aquí" #: ../../src/faq.md:410 f59751d2f0014e59af7879a748062cec msgid "Problem caused by `-` (hyphen character)." -msgstr "Problema causado por `-` (guión)." +msgstr "Problema causado por `-` (carácter guion)." #: ../../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):" +msgstr "Para arreglar este error, cambie el `-` (guion) por `_` (guion bajo):" #: ../../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:" +"Si no es posible cambiar el identificador 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?" @@ -543,15 +543,15 @@ msgid "" "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." +"Los estándares CWL se han creado en base a contenedores en formato Docker " +"(opcionales). El ejecutor de referencia y otras implementaciones de CWL " +"admiten 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?" +msgstr "¿Cómo depuro el JavaScript en mi herramienta CLW?" #: ../../src/faq.md:452 5556d3c323664edea55cfb777f4efb3b msgid "" @@ -563,28 +563,34 @@ msgid "" "https://github.com/common-workflow-language/common-workflow-" "language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" msgstr "" +"Puedes utilizar la opción --js-console de cwltool, " +"o puedes probar al crear un proyecto JavaScript o TypeScript para su código, " +"y cargarlo utilizando expressionLib, p. ej.: 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 "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 }}." +"Esta guía le introducirá como escribir los procesos de trabajo (workflows) " +"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!" +msgstr "¡Las contribuciones y los comentarios son bienvenidos!" #: ../../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 " @@ -593,13 +599,14 @@ msgid "" " 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." +"otros comentarios, abre una Incidencia en el [repositorio de esta " +"guía][repo]. También puedes sugerir cambios directamente en un Pull Request " +"al pulsar sobre 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" +msgstr "Navegar la Guía de Usuario" #: ../../src/index.md:18 9431edcf4e344fb89b6a251e627279d2 msgid "" @@ -608,10 +615,10 @@ msgid "" "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." +"Si eres un usuario principiante comienza con la sección de [Introduction](/" +"introduction/index.md). Para usuarios avanzados las subsecciones de [Temas](/" +"topics/index.md) tienen información detallada sobre los temas más comunes de " +"CWL." #: ../../src/index.md:23 61cf57e61a9f46e5a1bff6368c5ad5e3 msgid "" @@ -620,14 +627,18 @@ msgid "" "subsections. The right sidebar contains links to the sections of each " "page, and the Search form is on the left sidebar." msgstr "" +"El índice aparece en el menú superior y también en la barra lateral " +"izquierda. También aparece más abajo en esta página, pero con enlaces a las " +"subsecciones. La barra lateral derecha contiene enlaces a las secciones de " +"cada página, y el formulario de búsqueda está en la barra lateral izquierda." #: ../../src/index.md:28 94381840d8a848c4a02fa97bfe83566d msgid "Table of Contents" -msgstr "" +msgstr "Índice" #: ../../src/introduction/basic-concepts.md:1 c1271d88e203454688a22e61ee88f02a msgid "Basic Concepts" -msgstr "" +msgstr "Conceptos básicos" #: ../../src/introduction/basic-concepts.md:3 dd462818cc9a4205b38866d0c5137ece msgid "" @@ -639,10 +650,17 @@ msgid "" "already familiar with CWL or you are looking for more advanced content, " "you may want to skip this section." msgstr "" +"Esta sección describe los conceptos básicos para que los usuarios comiencen " +"a trabajar con flujos de trabajo del Lenguaje de Flujo de Trabajo Común (CWL)" +". Se espera que los lectores estén familiarizados con los gestores de flujos " +"de trabajo, YAML, y se sientan cómodos siguiendo instrucciones para la línea " +"de comandos. Las otras secciones de la guía del usuario cubren los mismos " +"conceptos, pero con más detalle. Si ya estás familiarizado con CWL o buscas " +"contenido más avanzado, puede que quieras saltarte esta sección." #: ../../src/introduction/basic-concepts.md:10 7a56d394fb244431aefce7ebbb834ecf msgid "The CWL Specification" -msgstr "" +msgstr "Especificación CWL" #: ../../src/introduction/basic-concepts.md:21 35800ed2c56d489190d3702d9ad20fd7 msgid "" @@ -650,6 +668,9 @@ msgid "" "community. The specification has different versions. The version covered " "in this user guide is the {{ cwl_version }}." msgstr "" +"La especificación CWL es un documento escrito y mantenido por la comunidad " +"CWL. La especificación tiene diferentes versiones. La versión cubierta en " +"esta guía del usuario es la {{ cwl_version }}." #: ../../src/introduction/basic-concepts.md:25 3ab6dd6b2f694afeb08f3984a74f3efb msgid "" @@ -660,6 +681,13 @@ msgid "" "that are backward-compatible. The last number is used for bug fixes, like" " typos and other corrections to the specification." msgstr "" +"La versión de la especificación puede tener hasta tres números separados por " +"`.`s (puntos). El primer número es la versión principal, que se utiliza para " +"cambios incompatibles con versiones anteriores, como la eliminación de " +"funciones obsoletas. El segundo número es la versión menor, que se utiliza " +"para nuevas funciones o cambios menores compatibles con versiones " +"anteriores. El último número se utiliza para corregir errores, como erratas " +"y otras correcciones de la especificación." #: ../../src/introduction/basic-concepts.md:33 72ae1fb763a34c41b1b06adcbe1522c3 msgid "" @@ -667,10 +695,13 @@ msgid "" "Versioning. See the end of this section to [learn more](#learn-more) " "about it." msgstr "" +"El modelo utilizado para la versión de la especificación se denomina " +"Versionado Semántico. Consulte el final de esta sección para [aprender más]" +"(#learn-more) sobre él." #: ../../src/introduction/basic-concepts.md:37 5aa7d3ee6cb048d888f1e1f49d0e08be msgid "Implementations" -msgstr "" +msgstr "Implementaciones" #: ../../src/introduction/basic-concepts.md:39 c87e6daefda74579a39924777b2e6809 msgid "" @@ -680,6 +711,11 @@ msgid "" "specification. CWL implementations are licensed under both Open Source " "and commercial licenses." msgstr "" +"Una implementación de la especificación CWL es cualquier software escrito " +"siguiendo lo definido en una versión del documento de especificación. Sin " +"embargo, las implementaciones pueden no aplicar todos los aspectos de la " +"especificación. Las implementaciones de la CWL están sujetas a licencias " +"comerciales y de código abierto." #: ../../src/introduction/basic-concepts.md:44 c995e699ae2949219af252f9d802a43d msgid "" @@ -687,15 +723,18 @@ msgid "" " and high performance computing environments where tasks are scheduled in" " parallel across many nodes." msgstr "" +"CWL es muy adecuado para describir flujos de trabajo a gran escala en " +"entornos de clúster, nube y computación de alto rendimiento en los que las " +"tareas se programan en paralelo a través de muchos nodos." #: ../../src/introduction/basic-concepts.md:51 09171f48a3d841b2acb6d803b2340c8e msgid "CWL specification, implementations, and other tools." -msgstr "" +msgstr "Especificación CWL, implementaciones y otras herramientas." #: ../../src/introduction/basic-concepts.md:105 #: 1c1647a3496c4251a3193f94ee4e78c8 msgid "Processes and Requirements" -msgstr "" +msgstr "Procesos y requisitos" #: ../../src/introduction/basic-concepts.md:107 #: 854633336f4d4fc394e62c53ce022c6b @@ -705,31 +744,35 @@ msgid "" "hints. There are four types of processes defined in the CWL specification" " {{ cwl_version }}:" msgstr "" +"Un proceso es una unidad informática que toma entradas y produce salidas. El " +"comportamiento de un proceso puede verse afectado por las entradas, los " +"requisitos y las pistas. Hay cuatro tipos de procesos definidos en la " +"especificación CWL {{ cwl_version }}:" #: ../../src/introduction/basic-concepts.md:112 #: 142a847f11d7462f8bf77bfe789410ca msgid "A command-line tool." -msgstr "" +msgstr "Una herramienta de línea de comandos." #: ../../src/introduction/basic-concepts.md:113 #: 7c7567fa690043f9b4b89bdf8ca60cad msgid "An expression tool." -msgstr "" +msgstr "Una herramienta de expresión." #: ../../src/introduction/basic-concepts.md:114 #: 7afcf087d3ea49dabf1a641a2bb71b35 msgid "An operation." -msgstr "" +msgstr "Una operación." #: ../../src/introduction/basic-concepts.md:115 #: 6399939602334819a20b92b957352a8a msgid "A workflow." -msgstr "" +msgstr "Un flujo de trabajo." #: ../../src/introduction/basic-concepts.md:118 #: 8c55b15cebf142899045f229ccc86b1e msgid "The processing units available in the CWL objects model." -msgstr "" +msgstr "Las unidades de procesamiento disponibles en el modelo de objetos CWL." #: ../../src/introduction/basic-concepts.md:119 #: ec54c0e67e894bfba2d0fbb0f87ffdf4 @@ -737,6 +780,9 @@ 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 "" +"Una herramienta de línea de comandos es una cobertura para una utilidad de " +"línea de comandos como `echo`, `ls` y `tar`. Una herramienta de línea de " +"comandos se puede invocar desde un flujo de trabajo." #: ../../src/introduction/basic-concepts.md:122 #: c88ad26efa794cbeb6f0690aa0cad5ea @@ -746,6 +792,11 @@ msgid "" " a workflow execution into reusable JavaScript code that takes inputs and" " produces outputs like a command-line tool." msgstr "" +"Una herramienta de expresión es un envoltorio para una expresión JavaScript. " +"Se puede utilizar para simplificar los flujos de trabajo y las herramientas " +"de línea de comandos, trasladando partes comunes de una ejecución de flujo " +"de trabajo en código JavaScript reutilizable que toma entradas y produce " +"salidas como una herramienta de línea de comandos." #: ../../src/introduction/basic-concepts.md:127 #: 946825a7ea2c450eb3e41b5548670fb7 @@ -755,6 +806,10 @@ msgid "" " so commonly used. It is discussed in the [Operations " "section](../topics/operations.md) of this user guide." msgstr "" +"La operación es un proceso abstracto que además toma entradas, produce " +"salidas, y puede ser utilizado dentro de un flujo de trabajo. Pero es una " +"operación especial no tan comúnmente utilizada. Se discute en la [Sección de " +"Operaciones](../topics/operations.md) de esta guía de usuario." #: ../../src/introduction/basic-concepts.md:131 #: 44aac23f302c4178accf7e431cfbb96c @@ -765,6 +820,12 @@ msgid "" "outputs produced by its steps can be used in the final output of the " "workflow." msgstr "" +"El flujo de trabajo es un proceso que contiene pasos. Los pasos pueden ser " +"otros flujos de trabajo (flujos de trabajo anidados), herramientas de línea " +"de comandos o herramientas de expresión. Las entradas de un flujo de trabajo " +"se pueden pasar a cualquiera de sus pasos, mientras que las salidas " +"producidas por sus pasos se pueden utilizar en la salida final del flujo de " +"trabajo." #: ../../src/introduction/basic-concepts.md:137 #: 5afdb7aaf0bf4c1abf4c22cdbdd58be9 @@ -774,6 +835,10 @@ msgid "" "*requirements*. There are many requirements defined in the CWL " "specification, for instance:" msgstr "" +"La especificación CWL conceden a las implementaciones proporcionen " +"funcionalidad extra y especificar requisitos para los flujos de trabajo a " +"través de *requirements*. Hay muchos requisitos definidos en la " +"especificación CWL, por instancia:" #: ../../src/introduction/basic-concepts.md:141 #: 07c5789c59224ed78a3ecd03cfe872e9 @@ -781,6 +846,9 @@ msgid "" "[`InlineJavascriptWorkflow`](https://w3id.org/cwl/Workflow.html#InlineJavascriptRequirement)" " - enables JavaScript in expressions." msgstr "" +"[`InlineJavascriptWorkflow`](https://w3id.org/cwl/" +"Workflow.html#InlineJavascriptRequirement) - habilita JavaScript en " +"expresiones." #: ../../src/introduction/basic-concepts.md:142 #: 6f9854ae1b884ad39f88d2f39d66cb98 @@ -788,6 +856,9 @@ msgid "" "[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/Workflow.html#SubworkflowFeatureRequirement)" " - enables nested workflows." msgstr "" +"[`SubworkflowFeatureRequirement`](https://w3id.org/cwl/" +"Workflow.html#SubworkflowFeatureRequirement) - habilita flujos de trabajo " +"anidados." #: ../../src/introduction/basic-concepts.md:143 #: 23fef6de073f4da18118e4d0512670fe @@ -795,6 +866,9 @@ 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) - controla la preparación de " +"archivos en el directorio de entrada." #: ../../src/introduction/basic-concepts.md:145 #: fb3762f91177401ea624d1e716d67ae6 @@ -805,6 +879,11 @@ msgid "" "the {{ cwl_version }} specification and may not be supported by other CWL" " runners." msgstr "" +"Algunos CWL los corredores pueden proporcionar requisitos que no es en la " +"especificación. Por ejemplo, GPU los requisitos se mantienen en `cwltool` a " +"través del `cwltool:CUDARequirement` requisito, pero no es separar de la {{ " +"cwl_version }} especificación y no se puede mantener con otros ejecutantes " +"CWL." #: ../../src/introduction/basic-concepts.md:151 #: b6a5cd431c324078a9a4e1513a14ee28 @@ -814,11 +893,15 @@ msgid "" "explained in detail in the [Requirements](../topics/requirements-and-" "hints.md) section." msgstr "" +"Las horquillas son similares a los requisitos, pero mientras que las " +"características de lista de requisitos que se requieren, indica las " +"características opcionales lista. Los requisitos se explican detalladamente " +"en la sección [Requisitos](../topics/requirements-and-hints.md)." #: ../../src/introduction/basic-concepts.md:155 #: 88d7bad84dd341d2abb33673b8b8f250 msgid "FAIR Workflows" -msgstr "" +msgstr "Flujos de trabajo JUSTO" #: ../../src/introduction/basic-concepts.md:157 #: bcbf5d76cf5f47b2a9691b7d2d8ef891 @@ -833,6 +916,16 @@ msgid "" "Workflows](https://workflows.community/groups/fair/), Workflows Community" " Initiative." msgstr "" +"Los principios FAIR (n. de t. justos) han establecido una base para " +"compartir y publicar activos digitales, y en particular datos. Los " +"principios de FAIR enfatizan la accesibilidad de la máquina y que todos los " +"activos digitales deben ser Buscables, Accesibles, Interoperables y " +"Reutilizables. Los flujos de trabajo codifican los métodos por los cuales se " +"realiza el proceso científico y a través de los cuales se crean datos. Por " +"lo tanto, es importante que los flujos de trabajo asistan la creación de " +"datos FAIR y se adhieran a los principios FAIR. — [FAIR Computational " +"Workflows](https://workflows.community/groups/fair/), Workflows Community " +"Initiative." #: ../../src/introduction/basic-concepts.md:167 #: 4ea1d3bf04dc42f0bc6735a45b9e0dc0 @@ -842,32 +935,43 @@ msgid "" " CWL tasks are isolated, and you must be explicit about your inputs and " "outputs." msgstr "" +"CWL tiene raíces en \"make\" y muchas herramientas similares que determinan " +"el orden de ejecución, basado en dependencias entre tareas. Sin embargo, a " +"diferencia de \"make\", las tareas CWL están aisladas, y usted debe ser " +"explícito sobre sus entradas y salidas." #: ../../src/introduction/basic-concepts.md:171 #: c0f53138bf084939a54b0a576b44199f +#, fuzzy 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 "" +"El beneficio de la expresividad y el aislamiento son flexibilidad, " +"portabilidad y escalabilidad; herramientas y flujos de trabajo descritos con " +"CWL pueden aprovechar de manera transparente tecnologías como Docker y ser " +"utilizados con implementaciones CWL de diferentes proveedores." #: ../../src/introduction/basic-concepts.md:176 #: 91d6eb4984a6410ba99616b6617ba9af msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." msgstr "" +"`cwltool` además utiliza la ontología estándar PROV-O para procedencia de " +"datos." #: ../../src/introduction/basic-concepts.md:178 #: ../../src/introduction/prerequisites.md:183 #: ../../src/introduction/quick-start.md:94 0d7e607b00b9485aa2e3c5fb0a931bc6 #: 161697ed3e864155bb89d8be794fc139 b4a7563eabf547c3bf7eab2567a27b51 msgid "Learn More" -msgstr "" +msgstr "Más información" #: ../../src/introduction/basic-concepts.md:180 #: 7221a89559944627b4c3db37f468f72c msgid "Semantic Versioning - " -msgstr "" +msgstr "Versión semántica - " #: ../../src/introduction/basic-concepts.md:181 #: bccf086fc9514f76b60dc161e3a09da3 @@ -875,6 +979,8 @@ msgid "" "The CWL Specification page in the CWL website: " "" msgstr "" +"La página de Especificación en el sitio web CWL: " #: ../../src/introduction/basic-concepts.md:182 #: a5b37924c7d04ab984ff2542847afc4a @@ -882,6 +988,9 @@ msgid "" "The Command Line Tool Description Standard: " "<[https://www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/CommandLineTool.html)>" msgstr "" +"El Estándar de Descripción de Herramientas de Línea de Comandos: <[https://" +"www.commonwl.org/v1.2/CommandLineTool.html](https://w3id.org/cwl/" +"CommandLineTool.html)>" #: ../../src/introduction/basic-concepts.md:183 #: 44af015fa36644b99f07338d241d29c1 @@ -889,6 +998,8 @@ msgid "" "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" msgstr "" +"La especificación CWL actual en GitHub: {{ ''.format(cwl_version_text) }}" #: ../../src/introduction/basic-concepts.md:184 #: bffca993172048a4b7ab7c62637662e2 @@ -896,11 +1007,13 @@ msgid "" "The list of Implementations in the CWL website: " "" msgstr "" +"El listado de Implementaciones en el sitio web de CWL: " #: ../../src/introduction/basic-concepts.md:185 #: 84c61946406347c8b138772909110d54 msgid "PROV-O: The PROV Ontology - " -msgstr "" +msgstr "PROV-O: La Ontología PROV - " #: ../../src/introduction/basic-concepts.md:186 #: eb0b6a62e06143eabc7b92acff9643ea @@ -908,10 +1021,12 @@ msgid "" "CWL Operations are covered in the [Operations](../topics/operations.md) " "section of this user guide." msgstr "" +"Las Operaciones CWL se tratan en la sección [Operaciones](../topics/" +"operations.md) de esta guía de usuario." #: ../../src/introduction/index.md:1 48532f7701c54166859098e521a43db0 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../../src/introduction/index.md:3 08db628a949b4513b824ee334e70a7df msgid "" @@ -919,10 +1034,13 @@ msgid "" "prerequisites for following this user guide, and some basic concepts that" " are useful to know before reading the rest of the user guide." msgstr "" +"Esta sección le guiará a través de una breve introducción a CWL, los pre‐" +"requisitos para seguir esta guía de usuario, y algunos conceptos básicos que " +"son útiles para conocer antes de leer el resto de la guía de usuario." #: ../../src/introduction/prerequisites.md:1 d3f5749a76c14fdf8052f5f683d11b9e msgid "Prerequisites" -msgstr "" +msgstr "Prerrequisitos" #: ../../src/introduction/prerequisites.md:6 ab9e21b3e99641d096ba70012b4eb035 msgid "" @@ -933,10 +1051,17 @@ msgid "" "compatible runner or workflow system, but the results and interface may " "look different (though the exact workflow outputs should be identical)." msgstr "" +"El software y las configuraciones enumeradas en esta sección son requisitos " +"para seguir esta guía de usuario. Los estándares CWL son implementados por " +"muchos ejecutantes y plataformas de flujo de trabajo diferentes. Esta lista " +"de requisitos se centra en el ejecutante de referencia CWL, `cwltool`. Puede " +"utilizar otro sistema de flujo de trabajo compatible con CWL, pero los " +"resultados y la interfaz pueden parecer diferentes (aunque las salidas " +"exactas de flujo de trabajo deben ser idénticas)." #: ../../src/introduction/prerequisites.md:12 8ed426ebcb744839915e7c414d69b1e9 msgid "CWL Implementations" -msgstr "" +msgstr "CWL Implementaciones" #: ../../src/introduction/prerequisites.md:14 ff74d48407464c4b9d451fa419137144 msgid "" @@ -945,28 +1070,34 @@ msgid "" "engines. We have a better explanation in the [Implementations](basic-" "concepts.md#implementations) section." msgstr "" +"Hay muchas implementaciones de las normas CWL. Algunos son ejecutantes CWL " +"completos, mientras que otros podrían ser complementos o extensiones para " +"motores de flujo de trabajo. Tenemos una mejor explicación en la sección " +"[Implementaciones](basic-concepts.md#implementations)." #: ../../src/introduction/prerequisites.md:19 eb98aa9c71d746a69e9610996ffc5b47 msgid "Operating System" -msgstr "" +msgstr "Sistema Operativo" #: ../../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 "" +"Le recomendamos que utilice un sistema operativo actualizado. Puede elegir " +"cualquiera de las siguientes opciones para su sistema operativo:" #: ../../src/introduction/prerequisites.md:24 8baf869537ea478791356320280df928 msgid "Linux" -msgstr "" +msgstr "Linux" #: ../../src/introduction/prerequisites.md:25 248e9760ce60442eb10ab7247d6af23b msgid "macOS" -msgstr "" +msgstr "macOS" #: ../../src/introduction/prerequisites.md:26 d89306bbadf44b6bba8959f1f68cc2f0 msgid "Windows" -msgstr "" +msgstr "Windows" #: ../../src/introduction/prerequisites.md:29 aeeb990abbbd42cca122c342054be29c msgid "" @@ -976,10 +1107,15 @@ msgid "" "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 "" +"Si utiliza Windows, deberá instalar el Subsistema de Windows para Linux 2 " +"como se documenta en la [documentación de `cwltool` para usuarios de " +"Microsoft Windows](https://github.com/common-workflow-language/cwltool/blob/" +"main/README.rst#ms-windows-users). Su sistema operativo también necesita " +"acceso a Internet y una versión reciente de Python (3.6 o superior)." #: ../../src/introduction/prerequisites.md:34 21d1f29fb15745c480194eae6acdd031 msgid "CWL Runner" -msgstr "" +msgstr "Ejecutante CWL" #: ../../src/introduction/prerequisites.md:39 89f0bf6ff8544a6d87114085be8e0bb6 msgid "" @@ -988,12 +1124,18 @@ msgid "" "community. It is also the CWL reference runner, which means it must " "support everything in the current CWL specification, {{ cwl_version }}." msgstr "" +"Lo primero que necesitarás para ejecutar flujos de trabajo CWL es un " +"ejecutor CWL. `cwltool` es un proyecto Python Open Source mantenido por la " +"comunidad CWL. También es el ejecutor de referencia de CWL, lo que significa " +"que debe soportar todo en la especificación actual de 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` puede ser instalado con `pip`, `apt`, o `conda`. Recomendamos " +"utilizar un entorno virtual como `venv` o `conda`." #: ../../src/introduction/prerequisites.md:48 1edf8b8438334ae29dc406dbfd711228 msgid "" @@ -1001,14 +1143,17 @@ msgid "" "[documentation](https://cwltool.readthedocs.io/en/latest/#install) for " "details on installing `cwltool`." msgstr "" +"Visite la [documentación](https://cwltool.readthedocs.io/en/latest/" +"#instalar) de `cwltool` para detalles sobre la instalación de `cwltool`." #: ../../src/introduction/prerequisites.md:52 5e300141ce43435f9437507374987213 msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." msgstr "" +"Usemos una simple descripción de la herramienta CWL `true.cwl` con `cwltool`." #: ../../src/introduction/prerequisites.md:54 282ac7ba2a2346feac2456bcda0f214a msgid "`true.cwl`" -msgstr "" +msgstr "`true.cwl`" #: ../../src/introduction/prerequisites.md:60 0b36f94f479a4bce9bd9be9983894421 msgid "" @@ -1020,22 +1165,32 @@ msgid "" "line tool description like the above) pass the `--validate` option to the" " `cwltool` command:" msgstr "" +"El comando `cwltool` tiene una opción para validar las descripciones de " +"herramientas y flujos de trabajo CWL. Esta opción analizará el documento " +"CWL, buscará errores de sintaxis y verificará que las descripciones del " +"flujo de trabajo cumplan con los estándares CWL. Sin embargo, estas acciones " +"se realizarán sin ejecutar el documento. Para validar los flujos de trabajo " +"CWL (o incluso una descripción de herramienta de línea de comandos " +"independiente como la anterior) pase la opción `--validate` al comando " +"`cwltool`:" #: ../../src/introduction/prerequisites.md:66 5fce122794e34892b430ca4bdba5ba50 msgid "Validating `true.cwl` with `cwltool`." -msgstr "" +msgstr "Validando `true.cwl` con `cwltool`." #: ../../src/introduction/prerequisites.md:71 73f074f47d1449dcb40ff960a84851fd msgid "You can run the CWL tool description by omitting the `--validate` option:" msgstr "" +"Puede ejecutar la descripción de la herramienta CWL omitiendo la opción `--" +"validate`:" #: ../../src/introduction/prerequisites.md:73 2dd5a67870ca41b48e17c468ba15888b msgid "Running `true.cwl` with `cwltool`." -msgstr "" +msgstr "Ejecutando `true.cwl` con `cwltool`." #: ../../src/introduction/prerequisites.md:78 d2dc809318be49cc996d892e93ad84ac msgid "Generic ``cwl-runner`` alias" -msgstr "" +msgstr "Alias ``cwl-runner`` genérico" #: ../../src/introduction/prerequisites.md:80 9809c2e262924ef286b0bd62e0b00995 msgid "" @@ -1047,16 +1202,26 @@ msgid "" " administrator or user to point to the preferred CWL implementation. This" " is convenient for environments with multiple CWL runners." msgstr "" +"`cwl-runner` es un alias agnóstico de implementación para cualquier ejecutor " +"compatible con CWL. Esto significa simplemente que el comando de alias `cwl-" +"runner` puede invocarse de forma independiente, y no depende de un nombre de " +"programa de ejecución CWL concreto. Los usuarios pueden invocar `cwl-runner` " +"en lugar de invocar directamente a un ejecutor CWL como `cwltool`. El " +"administrador del sistema o el usuario instalan el `cwl-runner` para que " +"apunte a la implementación de CWL preferida. Esto es conveniente para " +"entornos con múltiples ejecutores 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 "" +"La comunidad CWL publica un paquete de Python con el nombre `cwlref-runner` " +"que instala un alias para `cwltool` bajo el nombre `cwl-runner`." #: ../../src/introduction/prerequisites.md:91 cc1a9b95508e44a1bf08ae75d990c301 msgid "Installing `cwl-runner` alias for cwltool with `pip`." -msgstr "" +msgstr "Instalando `cwl-runner` alias para cwltool con `pip`." #: ../../src/introduction/prerequisites.md:98 8f8c80f705d94d4899b250bbf9c54562 msgid "" @@ -1064,14 +1229,17 @@ msgid "" "executable, which will invoke `cwltool`. You should have the same results" " and output as in the previous section." msgstr "" +"Ahora puede validar y ejecutar su flujo de trabajo con el ejecutable `cwl-" +"runner`, que invocará a `cwltool`. Usted debe tener los mismos resultados y " +"la salida como en la sección anterior." #: ../../src/introduction/prerequisites.md:102 176e4214d18149f3ba0bda692bcf760f msgid "Validating `true.cwl` with `cwl-runner`." -msgstr "" +msgstr "Validando `true.cwl` con `cwl-runner`." #: ../../src/introduction/prerequisites.md:107 4890bf20bc3842d3a7421b555bcda94a msgid "Running `true.cwl` with `cwl-runner`." -msgstr "" +msgstr "Ejecutando `true.cwl` con `cwl-runner`." #: ../../src/introduction/prerequisites.md:112 2475a83cf6ed4389bb680fa37e8fe69c msgid "" @@ -1080,18 +1248,23 @@ msgid "" "new file: `true_shebang.cwl`, and include a special first line, a " "*shebang*:" msgstr "" +"Otra forma de ejecutar `cwl-runner` es invocando el archivo directamente. " +"Para ello, lo primero que tienes que hacer es copiar el flujo de trabajo " +"`true.cwl` en un nuevo archivo: `true_shebang.cwl`, e incluir una primera " +"línea especial, un *shebang*:" #: ../../src/introduction/prerequisites.md:116 24da787aa76c4480838a93ba0533898d msgid "`true_shebang.cwl`" -msgstr "" +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 "" +"Ahora puedes hacer ejecutable el archivo `true_shebang.cwl` con `chmod u+x`." #: ../../src/introduction/prerequisites.md:124 27693d62faa045d9b03143d9bd2afcdf msgid "Making `true.cwl` executable." -msgstr "" +msgstr "Hacer ejecutable `true.cwl`." #: ../../src/introduction/prerequisites.md:131 703531514abe4fd48015c472005dbffa msgid "" @@ -1099,10 +1272,13 @@ msgid "" "execution, the program specified in the shebang (`cwl-runner`) will be " "used to execute the rest of the file." msgstr "" +"Y por último, puede ejecutarlo directamente en la línea de comandos. En la " +"ejecución, el programa especificado en el shebang (`cwl-runner`) se " +"utilizará para ejecutar el resto del archivo." #: ../../src/introduction/prerequisites.md:135 abba2e14c4e54252bb75983274663a7a msgid "Running `true_shebang.cwl` with a shebang." -msgstr "" +msgstr "Ejecutando `true_shebang.cwl` con un shebang." #: ../../src/introduction/prerequisites.md:141 11fea992c00940d29eb29ccf4b9370e9 msgid "" @@ -1113,10 +1289,16 @@ msgid "" " using a hard-coded location, since `/usr/bin/env [executable]` looks for" " the `[executable]` program in the system `PATH`," msgstr "" +"El *shebang* es la secuencia de dos caracteres `#!` al principio de un " +"guion. Cuando el script es ejecutable, el sistema operativo ejecutará el " +"script usando el ejecutable especificado después del shebang. Se considera " +"una buena práctica para utilizar `/usr/bin/env [ejecutable]` en lugar de " +"utilizar un lugar codificado duro, ya que `/usr/bin/env [ejecutable]` busca " +"el programa `[ejecutable]` en el sistema [XTH4," #: ../../src/introduction/prerequisites.md:148 854736eef2ac4b63b187a4cea9660ae4 msgid "Text Editor" -msgstr "" +msgstr "Editor de texto" #: ../../src/introduction/prerequisites.md:150 480fbb7a743046068c114fff5b396a9f msgid "" @@ -1124,6 +1306,9 @@ msgid "" "recommend an editor with YAML support. Popular editors are Visual Studio " "Code, Sublime, WebStorm, vim/neovim, and Emacs." msgstr "" +"Puedes usar cualquier editor de texto con CWL, pero para resaltar la " +"sintaxis recomendamos un editor con soporte para YAML. Los editores más " +"populares son Visual Studio Code, Sublime, WebStorm, vim/neovim y Emacs." #: ../../src/introduction/prerequisites.md:154 28da3eea8fd245d1936013d021c25164 msgid "" @@ -1131,28 +1316,37 @@ msgid "" "integration with CWL, and features such as customized syntax highlighting" " and better auto-complete:" msgstr "" +"Existen extensiones para Visual Studio Code y WebStorm que proporcionan " +"integración con CWL, y funciones como resaltado de sintaxis personalizado y " +"mejor autocompletado:" #: ../../src/introduction/prerequisites.md:158 73c08e11e90d4c7f952307a1cdaa360b msgid "" "Visual Studio Code with the Benten (CWL) plugin - " "" msgstr "" +"Visual Studio Code con el complemento Benten (CWL) - " #: ../../src/introduction/prerequisites.md:159 a5b788252a924338963f0ed198fc22ca msgid "" "cwl-plugin for IntelliJ - " msgstr "" +"cwl-plugin para IntelliJ - " #: ../../src/introduction/prerequisites.md:161 ee705b919acd461a8d9622821da246b6 msgid "" "The CWL community also maintains a list of editors and viewers: " "" msgstr "" +"La comunidad CWL también mantiene una lista de editores y espectadores: " +"" #: ../../src/introduction/prerequisites.md:164 7724b63db3cc45139379898d047c0f83 msgid "Docker" -msgstr "" +msgstr "Docker" #: ../../src/introduction/prerequisites.md:168 eff13997c1ce43d1ad2d7a4d927394fe msgid "" @@ -1161,6 +1355,10 @@ msgid "" "documentation to install it for your operating system: " "." msgstr "" +"`cwltool` utiliza Docker para ejecutar herramientas, flujos de trabajo y " +"pasos de flujo de trabajo que especifican un contenedor de software. Siga " +"las instrucciones de la documentación de Docker para instalarlo en su " +"sistema operativo: ." #: ../../src/introduction/prerequisites.md:172 2872503638624b7e904ae407375ac165 msgid "" @@ -1169,6 +1367,10 @@ msgid "" "examples, and to clarify the differences between the execution models " "with and without containers." msgstr "" +"No es necesario saber cómo escribir y construir contenedores Docker. En el " +"resto de la guía del usuario, utilizaremos imágenes Docker existentes para " +"ejecutar ejemplos y para aclarar las diferencias entre los modelos de " +"ejecución con y sin contenedores." #: ../../src/introduction/prerequisites.md:178 52ddcc9bc1554d809371fc0a503c40bc msgid "" @@ -1176,20 +1378,26 @@ msgid "" "Singularity. You can also use alternative container registries for " "pulling images." msgstr "" +"`cwltool` soporta la ejecución de contenedores con Docker, Podman, udocker, " +"y Singularity. También puedes utilizar registros de contenedores " +"alternativos para extraer imágenes." #: ../../src/introduction/prerequisites.md:185 f3bbfa17f31a459386461951de157dd2 msgid "" "The [Implementations](basic-concepts.md#implementations) topic in the " "next section, Basic Concepts." msgstr "" +"El tema [Implementaciones](basic-concepts.md#implementations) de la " +"siguiente sección, Conceptos básicos." #: ../../src/introduction/prerequisites.md:186 e22b9e7c56104e018e6d2f3d547c01ea msgid "The Python `venv` module: " msgstr "" +"El módulo `venv` de Python: " #: ../../src/introduction/quick-start.md:1 9ca367e3ca754a0fa88dab64724b95b6 msgid "Quick Start" -msgstr "" +msgstr "Inicio rápido" #: ../../src/introduction/quick-start.md:3 733db5702c774f32b8c91d13f74f3720 msgid "" @@ -1197,10 +1405,13 @@ msgid "" " can learn more about it. No previous knowledge of CWL is required, but " "you must be comfortable following instructions for the command-line." msgstr "" +"Esta sección le mostrará un breve resumen de lo que es CWL, y dónde puede " +"aprender más sobre él. No se requieren conocimientos previos de CWL, pero " +"debe sentirse cómodo siguiendo instrucciones para la línea de comandos." #: ../../src/introduction/quick-start.md:7 0b164074dd0849c3b2c8d2f78ea99e95 msgid "“Hello World”" -msgstr "" +msgstr "\"Hola Mundo\"" #: ../../src/introduction/quick-start.md:12 6485f96f638548fbb7addc57f6cde92b msgid "" @@ -1208,10 +1419,14 @@ msgid "" "The example below shows a simple CWL “Hello World” workflow annotated " "with comments. Note that comments start with `#`:" msgstr "" +"Los documentos CWL se escriben en [YAML](../topics/index.md) (y/o JSON). El " +"siguiente ejemplo muestra un simple flujo de trabajo CWL \"Hola Mundo\" " +"anotado con comentarios. Tenga en cuenta que los comentarios empiezan por " +"`#`:" #: ../../src/introduction/quick-start.md:16 5e06f9c4754347b8bac88d24c21e0f67 msgid "`hello_world.cwl`" -msgstr "" +msgstr "`hello_world.cwl`" #: ../../src/introduction/quick-start.md:22 6a13fb9112ab41acb60dc65b3656f63e msgid "" @@ -1219,6 +1434,10 @@ msgid "" "Running the workflow above with the default input values will produce the" " same result as the command-line `echo \"Hello World\"`." msgstr "" +"El ejemplo anterior es sólo una envoltura para la herramienta de línea de " +"comandos `echo`. Ejecutar el flujo de trabajo anterior con los valores de " +"entrada por defecto producirá el mismo resultado que la línea de comandos " +"`echo \"Hola Mundo\"`." #: ../../src/introduction/quick-start.md:27 7b2ae93353184faea0ae4f4acdfc3350 msgid "" @@ -1227,10 +1446,14 @@ msgid "" "“workflow” here. You will learn more about this in the [basic concepts" "](basic-concepts.md) section." msgstr "" +"En CWL, hay una distinción entre una herramienta de línea de comandos y un " +"flujo de trabajo. Pero en aras de la simplicidad, vamos a utilizar el " +"término \"flujo de trabajo\" aquí. Aprenderás más sobre esto en la sección " +"[conceptos básicos](basic-concepts.md)." #: ../../src/introduction/quick-start.md:32 1ed30b04073d47a9893774746479fb5d msgid "Installing a CWL Runner" -msgstr "" +msgstr "Instalación de un ejecutante CWL" #: ../../src/introduction/quick-start.md:34 73a42cd9e0e54296985088b7221a8a93 msgid "" @@ -1239,10 +1462,14 @@ msgid "" "the latest version of the specification: {{ cwl_version }}. You can " "install `cwltool` using `pip`:" msgstr "" +"`cwltool` es una implementación de la especificación CWL. También es el CWL " +"*Reference Runner* para la especificación, y es compatible con la última " +"versión de la especificación: {{ cwl_version }}. Puedes instalar `cwltool` " +"usando `pip`:" #: ../../src/introduction/quick-start.md:39 57aea587ade24610be62f5d993b0b755 msgid "Installing `cwltool` with `pip`." -msgstr "" +msgstr "Instalando `cwltool` con `pip`." #: ../../src/introduction/quick-start.md:47 51183fc986014edbb026a53f222e6c2e msgid "" @@ -1251,10 +1478,14 @@ msgid "" " `cwltool` and a more detailed list of software and libraries used for " "following the rest of this user guide." msgstr "" +"Si la instalación de `cwltool` mediante el comando pip no le funciona, la " +"sección [prerequisites](prerequisites.md) contiene otras formas de instalar " +"`cwltool` y una lista más detallada del software y las librerías utilizadas " +"para seguir el resto de esta guía de usuario." #: ../../src/introduction/quick-start.md:51 a7582c3ae37a462a8ae1e72b3f321534 msgid "Running \"Hello World\"" -msgstr "" +msgstr "Ejecutando \"Hola Mundo\"" #: ../../src/introduction/quick-start.md:53 0595e96912dc40e5a09f2ced2d2b7bcd msgid "" @@ -1262,20 +1493,26 @@ msgid "" "[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. You can run the " "`hello_world.cwl` workflow without specifying any option:" msgstr "" +"El uso de la línea de comando `cwltool` ejecutable básicamente es `cwltool " +"[OPTIONS] [CWL_DOCUMENT] [INPUTS_OBJECT]`. Puede ejecutar el flujo de " +"trabajo `hello_world.cwl` sin especificar ninguna opción:" #: ../../src/introduction/quick-start.md:57 5b393c69816549b084516dda4d4274f5 msgid "Running `hello_world.cwl` with `cwltool`." -msgstr "" +msgstr "Ejecutando `hello_world.cwl` con `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 "" +"O puede sobrescribir el valor por defecto del parámetro de entrada " +"`message`, similar a como cambiaría el argumento del comando base `echo`:" #: ../../src/introduction/quick-start.md:65 8339ec411ad04c70ab8d795eb154fc38 msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." msgstr "" +"Ejecutando `hello_world.cwl` con `cwltool` pasando un parámetro de entrada." #: ../../src/introduction/quick-start.md:70 3ecca6985e754951aee00c93effe9517 msgid "" @@ -1284,20 +1521,26 @@ msgid "" "corresponding values. The Inputs Objects file can be written in JSON or " "YAML. For example:" msgstr "" +"Otra forma de pasar valores a los parámetros de entrada de su flujo de " +"trabajo es a través de un *Inputs Object*. Se trata de un archivo que " +"contiene los campos de entrada con sus valores correspondientes. El archivo " +"de Objetos de Entrada se puede escribir en JSON o YAML. Por ejemplo:" #: ../../src/introduction/quick-start.md:74 d05e8e016b1d40c28c4b6091103fe920 msgid "`hello_world-job.json`" -msgstr "" +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 "" +"Ahora puede utilizar este archivo Objeto de Entrada para ejecutar el flujo " +"de trabajo «Hola Mundo»:" #: ../../src/introduction/quick-start.md:82 4065124edf3a4678a37c82e3070595cb msgid "Passing an Inputs Object file to `cwltool`." -msgstr "" +msgstr "Pasar un archivo de Objetos de Entrada a `cwltool`." #: ../../src/introduction/quick-start.md:88 52b1602b5c8d48db88d0b16f788e7703 msgid "" @@ -1306,32 +1549,44 @@ msgid "" "it is not a requirement. You can choose any name for your workflows and " "Inputs Object files." msgstr "" +"Utilizamos un nombre de archivo similar para el flujo de trabajo y para los " +"archivos de Objetos de Entrada. El sufijo *-job.json* es muy común en los " +"archivos Objetos de Entrada, pero no es un requisito. Puede elegir cualquier " +"nombre para sus flujos de trabajo y archivos de Objetos de Entrada." #: ../../src/introduction/quick-start.md:96 3b06faf5f3194bd8a96118d9f050f61e msgid "Continue reading the next sections of this User Guide!" -msgstr "" +msgstr "Continúe leyendo las siguientes secciones de esta Guía del Usuario." #: ../../src/introduction/quick-start.md:97 669b8ac154e74181830a430b1dc7684b msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." msgstr "" +"[Lista de implementaciones del 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 "" +"La organización [`common-workflow-language`](https://github.com/common-" +"workflow-language) en GitHub." #: ../../src/introduction/quick-start.md:99 dbce82b7a930493486a585ecb8891121 msgid "" "[Common Workflow Language at " "Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." msgstr "" +"[Lenguaje común de flujo de trabajo en 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/) y [YAML en Wikipedia](https://en.wikipedia.org/" +"wiki/YAML)." #: ../../src/introduction/quick-start.md:101 2bf7b924182f4f2bab88edef5ef85baa msgid "" @@ -1339,12 +1594,16 @@ msgid "" "VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', " "cwl_version_text) }}." msgstr "" +"La {{'[VERSION DE LA ESPECIFICACIÓN CWL](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 "" +"[Sistema de gestión del flujo de trabajo en Wikipedia](https://" +"en.wikipedia.org/wiki/Workflow_management_system)." #: ../../src/setup.md:9 24ea9c5144664d9599d7aca767b4730a msgid "" @@ -1352,11 +1611,14 @@ msgid "" "old User Guide. The information on this page has been migrated to the " "[FAQ](/faq.md) section of the new user guide." msgstr "" +"Esta página está desactualizada y se mantuvo aquí para conservar los enlaces " +"de la antigua Guía del Usuario. La información de esta página se ha migrado " +"a la sección [P+F](/faq.md) de la nueva guía del usuario." #: ../../src/topics/additional-arguments-and-parameters.md:1 #: 3843684b039a40dea163de951ca56738 msgid "Additional Arguments and Parameters" -msgstr "" +msgstr "Argumentos y parámetros adicionales" #: ../../src/topics/additional-arguments-and-parameters.md:3 #: a6fd1842b938435aa2a3c889019eec71 @@ -1364,9 +1626,12 @@ msgid "" "Sometimes tools require additional command line options that don't " "correspond exactly to input parameters." msgstr "" +"A veces, las herramientas requieren opciones adicionales en la línea de " +"comandos que no se corresponden exactamente con los parámetros de entrada." #: ../../src/topics/additional-arguments-and-parameters.md:6 #: dfed0747ed544547afd364086d828c9b +#, fuzzy 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 " @@ -1375,22 +1640,31 @@ msgid "" "instruct \"javac\" to write the class file to the designated output " "directory instead." msgstr "" +"En este ejemplo, vamos a envolver el compilador Java para compilar un " +"archivo fuente java a un archivo de clase. Por defecto, \"javac\" creará los " +"archivos de clase en el mismo directorio que el archivo fuente. Sin embargo, " +"los archivos de entrada CWL (y los directorios en los que aparecen) pueden " +"ser sólo leídos, por lo que necesitamos instruir \"javac\" para escribir el " +"archivo de clase al directorio de salida designado." #: ../../src/topics/additional-arguments-and-parameters.md:13 #: e690b567eae34f3f8dbdd7760e51449a msgid "`arguments.cwl`" -msgstr "" +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 "" +msgstr "`arguments-job.yml`" #: ../../src/topics/additional-arguments-and-parameters.md:24 #: ef070ebe5f7245489b05660fb6d7c178 +#, fuzzy msgid "Next, create a sample Java file to use with the command-line tool." msgstr "" +"A continuación, crear un archivo Java muestra para usar con la herramienta " +"línea de comandos." #: ../../src/topics/additional-arguments-and-parameters.md:30 #: 4ae43e3e841442039e4bb8c740096c56 @@ -1398,13 +1672,18 @@ msgid "" "And now invoke `cwltool` providing the tool description and the input " "object on the command line:" msgstr "" +"y ahora invoca `cwltool` proporcionando la descripción de la herramienta y " +"el objeto de entrada en la línea de comando:" #: ../../src/topics/additional-arguments-and-parameters.md:36 #: 8497291577914eb3a172c1ffb736d95d +#, fuzzy 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 "" +"Aquí utilizamos el campo `arguments` para añadir un argumento adicional a la " +"línea de comandos que no está ligada a un parámetro de entrada específico." #: ../../src/topics/additional-arguments-and-parameters.md:43 #: dc9fa5f2cbb147b1853c4042c54010f3 @@ -1417,26 +1696,44 @@ msgid "" "`$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime " "Environment][runtime] section of the CWL specification for details." msgstr "" +"Estas referencias de ejemplo un parámetro de tiempo de ejecución. Los " +"parámetros en tiempo de ejecución proporcionan información sobre el hardware " +"o entorno de software cuando la herramienta es de hecho ejecutada. El " +"parámetro `$(runtime.outdir)` es la ruta al directorio de salida " +"designado. Otros parámetros incluyen `$(runtime.tmpdir)`, `$(runtime.ram)`, " +"`$(runtime.cores)`, `$(runtime.outdirSize)`, y `$(runtime.tmpdirSize)`. " +"Consulte la sección [Entorno Runtime][runtime] de la especificación de CWL " +"para detalles." #: ../../src/topics/best-practices.md:1 964bf8276dd04b65887448e1386e63fe msgid "Best Practices" -msgstr "" +msgstr "Mejoras Prácticas" #: ../../src/topics/best-practices.md:3 7b59377bd56c47b8a71c18acfba4d3bb +#, fuzzy 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 "" +"Los siguientes son un conjunto de buenas prácticas recomendadas para tener " +"en cuenta al escribir una descripción del lenguaje de flujo de trabajo común " +"para una herramienta o flujo de trabajo. Estas directrices se presentan para " +"su consideración en una escala de utilidad: aunque más es mejor, no todos " +"son necesarios." #: ../../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 "" +"Ningún parámetro de `type: string` para nombres de entrada o referencia de " +"archivos/directorios; utilice `type: Archivo` o `type: Directorio` como sea " +"apropiado." #: ../../src/topics/best-practices.md:11 ae127b776eed4894af8cb680377703e0 +#, fuzzy msgid "" "A CWL document (in conjunction with any external components like " "`Dockerfile`s) is software code. Workflow developers should be aware that" @@ -1451,8 +1748,22 @@ msgid "" "license that allows for re-use by anyone, e.g. [Apache 2.0][apache-" "license]." msgstr "" +"Un documento CWL (en conjunto con componentes externos como `Dockerfile`s) " +"es un código de software. Los desarrolladores de flujo de trabajo deben ser " +"conscientes de que las normas habituales de licencias de software se aplican " +"a este documento. Por ejemplo, si el flujo de trabajo es compartido " +"públicamente, los términos de licencias deben ser claros para que un usuario " +"futuro entienda en qué condiciones puede ejecutar el flujo de trabajo, " +"modificarlo y/o combinarlo con otros flujos de trabajo. Por esta razón, por " +"favor considere incluir un campo de licencia en el documento. Los autores de " +"esta guía le instan a elegir una licencia preexistente en lugar de tratar de " +"escribir su propio (ver el enlace de abajo para aprender más sobre elegir " +"una licencia), y nuestra práctica recomendada es elegir una licencia que " +"permita la reutilización por cualquiera, por ejemplo. [Apache 2.0] [apache-" +"license]." #: ../../src/topics/best-practices.md:20 384eb620dc31468e8c3f5f33a3436200 +#, fuzzy msgid "" "If possible, the license should be specified with its corresponding [SPDX" " identifier][spdx]. Construct the metadata field for the license by " @@ -1461,16 +1772,25 @@ msgid "" "example snippet below for guidance. For non-standard licenses without an " "SPDX identifier, provide a URL to the license." msgstr "" +"Si es posible, la licencia tendría que ser especificada con su " +"correspondiente [SPDX identificador][spdx]. Construir el metadata campo para " +"la licencia por proporcionar un URL de la forma `https://spdx.org/licenses/" +"[SPDX-ID]` dónde `SPDX-ID` está tomado de la lista de identificadores enlazó " +"encima. Ver la #fragmento de ejemplo abajo para guiaje. Para " +"licenciasnoestándares sin un SPDX identificador, proporcionar un URL a la " +"licencia." #: ../../src/topics/best-practices.md:26 e8259b43fa6944eda73eae381db6b97b msgid "" "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-" "Programmer][sci-license]\"" msgstr "" +"Lectura útil: \"[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 "" +msgstr "_Ejemplo de campo de metadatos para licencia con identificador SPDX:_" #: ../../src/topics/best-practices.md:37 924b8df24deb4c82b32732f491c9a246 msgid "" @@ -1478,6 +1798,9 @@ msgid "" " Metadata and Authorship section of this User Guide](../topics/metadata-" "and-authorship.md)." msgstr "" +"Para más ejemplos de proporcionar metadatos dentro de las descripciones CWL, " +"consulte la [sección de Metadatos y Autorizaciones de esta Guía de Usuario]" +"(../topics/metadata-and-authorship.md)." #: ../../src/topics/best-practices.md:40 9e64a9fc89cb45cfbff0e925cc91b1be msgid "" @@ -1485,18 +1808,26 @@ msgid "" "the CWL tool or workflow description. Use unambiguous identifiers like " "[ORCID][orcid]." msgstr "" +"Incluya [attribution information][license-example] para el autor o autores " +"de la herramienta CWL o la descripción del flujo de trabajo. Utilice " +"identificadores inequívocos como [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 "" +"En las descripciones de la herramienta, enumerar dependencias utilizando " +"nombres breves en [`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 "" +"Incluir identificadores [SciCrunch][scicrunch] para dependencias en formato " +"`https://identifiers.org/rrid/RRID:SCR_NNNNNN`." #: ../../src/topics/best-practices.md:50 5ae8950fd31541399c2fe59096581dbc msgid "" @@ -1505,6 +1836,11 @@ msgid "" "`reference_genome`, `phylogeny`, or `aligned_sequences` instead of " "`foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." msgstr "" +"Todos los identificadores de `entrada` y `salida` deben reflejar su " +"identidad conceptual. Utilice nombres informativos como " +"`unaligned_sequences`, `reference_genome`, `phylogeny`, o " +"`aligned_sequences` en lugar de `foo_input`, `foo_file`, `result`, `input`, " +"`output`, etc." #: ../../src/topics/best-practices.md:55 b0493895105e43849bff2026763e472a msgid "" @@ -1512,6 +1848,10 @@ msgid "" "known to work with this description under " "[`SoftwareRequirement`](https://w3id.org/cwl/CommandLineTool.html#SoftwareRequirement)." msgstr "" +"En las descripciones de herramientas, incluya un listado de versión/es de la " +"herramienta que se conoce para trabajar con esta descripción en " +"[`SoftwareRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#SoftwareRequirement)." #: ../../src/topics/best-practices.md:58 88806cb0462f4359801c1fa0ff0ebcc0 msgid "" @@ -1524,6 +1864,15 @@ msgid "" "ontology/controlled vocabulary in the same way. Please edit this page to " "let us know about it." msgstr "" +"El `formato` sería especificado para todos los `Archivo`s de entrada y " +"salida. Las herramientas bio‐informáticas deben utilizar los identificadores " +"de formato de [EDAM][edam-example]. Consulte además `iana:text/plain`, " +"`iana:text/tab-separated-values` con `$namespaces: { iana: \"https://" +"www.iana.org/assignments/media-types/\" }`. [Lista completa de tipos de " +"medios IANA][iana-types] (también conocidos como tipos MIME). Para las " +"herramientas no bio‐informáticas, utilice o construya una ontología/" +"vocabulario controlado apropiado del mismo modo. Por favor, edite esta " +"página para hacérnoslo saber." #: ../../src/topics/best-practices.md:66 b178c7296ed5491782a4180c76883c14 msgid "" @@ -1531,6 +1880,9 @@ msgid "" "streaming compatible way (only once, no random-access), as `streamable: " "true`." msgstr "" +"Marca todos los `Archivo`s de entrada y salida que se leen o escriben de " +"forma compatible con flujo (sólo una vez, sin acceso aleatorio), como " +"`streamable: true`." #: ../../src/topics/best-practices.md:69 886d15c1972243acadccff5760f842f1 msgid "" @@ -1540,16 +1892,24 @@ msgid "" "(sub)command is capable of more. Don't overcomplicate your tool " "descriptions with options that you don't need or use." msgstr "" +"Cada descripción de [`CommandLineTool`](https://w3id.org/cwl/" +"commandlinetool.html#CommandLineTool) enfocaría en solo una operación única, " +"incluso si el (sub)comando es capaz de más. No complica demasiado sus " +"descripciones de herramienta con opciones que te no necesita o utiliza." #: ../../src/topics/best-practices.md:73 ef5a5f9b253c4ca3916802a695fb7c6d msgid "" "Custom types should be defined with one external YAML per type definition" " for re-use." msgstr "" +"Los tipos personalizados deben estar definidos con un YAML externo por " +"definición de tipo para su reutilización." #: ../../src/topics/best-practices.md:76 ff59f40e84004523904e3094be07cc80 msgid "Include a top-level short `label` summarising the tool/workflow." msgstr "" +"Incluya una `etiqueta` breve de nivel superior que resuma la herramienta/" +"flujo de trabajo." #: ../../src/topics/best-practices.md:78 78d73fde24e24beeab541a623d9530b6 msgid "" @@ -1557,12 +1917,18 @@ msgid "" "longer, more detailed description than was provided in the top-level " "`label` (see above)." msgstr "" +"Si resulta útil, también incluya un `documento` en nivel superior. Este " +"proporcionaría una descripción más larga, más detallada que fuera " +"proporcionada interna a la `etiqueta` de nivel superior (consulte lo " +"anterior)." #: ../../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 "" +"Utilice `type: enum` en lugar de `type: string` para elementos con una lista " +"fija de valores válidos." #: ../../src/topics/best-practices.md:85 c100d5192a52497fb6a890b81a388fcf msgid "" @@ -1571,12 +1937,19 @@ msgid "" " one of the [built in `File` properties][file-prop] like `basename`, " "`nameroot`, `nameext`, etc., could be used instead." msgstr "" +"Evalúe todos los usos de JavaScript para su posible eliminación o " +"sustitución. Un ejemplo común: ¿manipular nombres y rutas de `Archivo`? " +"Considere la posibilidad de utilizar en su lugar una de las [propiedades " +"integradas en `File`][file-prop] como `basename`, `nameroot`, `nameext`, " +"etc, pudo ser utilizado en su lugar." #: ../../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 "" +"Entregue la descripción de la herramienta a un colega (preferiblemente de " +"otra institución diferente) para que la pruebe y le dé su opinión." #: ../../src/topics/best-practices.md:93 0060a863362140f6bb3932cb5da1df04 msgid "" @@ -1584,6 +1957,11 @@ msgid "" "should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make" " their workflow modular and allow sections of them to be easily reused." msgstr "" +"Los flujos de trabajo complejos con componentes individuales los cuales " +"pueden ser abstraídos utilizarían el " +"[`SubworkflowFeatureRequirement`][subworkflow] para hacer su flujo de " +"trabajo modular y conceder a las secciones de ellas sean fácilmente " +"reutilizadas." #: ../../src/topics/best-practices.md:97 93f6d6b544c24ce780184272f66bacab msgid "" @@ -1591,10 +1969,13 @@ msgid "" "[\"Recommendations for the packaging and containerizing of bioinformatics" " software\"][containers] (also useful to other disciplines)." msgstr "" +"Los contenedores de software serían hechas para ser conformantes a las " +"[\"Recomendaciones para el empaquetado y la contenedorización de software bio" +"‐informático\"][contenedores] (también útiles para otras disciplinas)." #: ../../src/topics/command-line-tool.md:1 a378a2f7d268401abfbbbe6e5090a952 msgid "Command Line Tool" -msgstr "" +msgstr "Herramienta de línea de comandos" #: ../../src/topics/command-line-tool.md:3 cf0f1c00c0b34c94a8e2460a700c303e msgid "" @@ -1603,6 +1984,11 @@ msgid "" "`tar`, etc. The command-line tool is defined in the `baseCommand` " "attribute of the command-line tool CWL document." msgstr "" +"Una herramienta de línea de comandos es un tipo de objeto de proceso que " +"puede ejecutarse por sí mismo o como un paso de flujo de trabajo. Es una " +"envoltura para un comando como `ls`, `echo`, `tar`, etc. La herramienta de " +"línea de comandos se define en el atributo `baseCommand` del documento CWL " +"de la herramienta de línea de comandos." #: ../../src/topics/command-line-tool.md:8 7a180ba1f2d746a78b79be7e899cbad6 msgid "" @@ -1610,14 +1996,18 @@ msgid "" "following example contains a minimal example of a CWL command-line tool " "for the `echo` Linux command, using inputs and outputs." msgstr "" +"Una herramienta de línea de comandos CWL también tiene `entradas` y " +"`salidas`. El siguiente ejemplo contiene un ejemplo mínimo de una " +"herramienta de línea de comandos CWL para el comando `echo` de Linux, " +"utilizando entradas y salidas." #: ../../src/topics/command-line-tool.md:19 128bd8cd6788431da54fa07a8dc87f99 msgid "CWL command-line tool." -msgstr "" +msgstr "Herramienta de línea de comandos CWL." #: ../../src/topics/command-line-tool.md:50 d742e9e59ea44ca1a1df2de85059343f msgid "`echo.cwl`" -msgstr "" +msgstr "`echo.cwl`" #: ../../src/topics/command-line-tool.md:57 e3a06ebe51b64b0183673a8acc04969f msgid "" @@ -1625,10 +2015,13 @@ msgid "" "You will learn more about in the [Inputs](../topics/inputs.md) and in the" " [Outputs](../topics/outputs.md) sections." msgstr "" +"El ejemplo anterior utiliza una forma simplificada para definir las entradas " +"y salidas. Encontrará más información en las secciones [Entradas](../topics/" +"inputs.md) y [Salidas](../topics/outputs.md)." #: ../../src/topics/command-line-tool.md:68 2bab464d19d14562a6501373aff13905 msgid "Network Access" -msgstr "" +msgstr "Acceso a la red" #: ../../src/topics/command-line-tool.md:69 201712f3ceee4d4ea56ab96d3fef97b0 msgid "" @@ -1637,26 +2030,37 @@ msgid "" "by default, so you must include the requirement for network access in the" " specification of your tool." msgstr "" +"Esto indica si un proceso requiere salida IPv4/IPv6 del acceso a red. " +"Iniciando con CWL v1.1, los programas no son concedió acceso de red por " +"defecto, así que debes incluir el requisito para acceso de red dentro de la " +"especificación de su herramienta." #: ../../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 "" +"Las herramientas de línea de comandos CWL v1.0 que se mejoran a v1.1 o v1.2 " +"o v1.2 tendrán establecido `networkAcces: true` automáticamente." #: ../../src/topics/creating-files-at-runtime.md:1 #: 17c5b4ee43cc4a979676ad27e473d046 msgid "Creating Files at Runtime" -msgstr "" +msgstr "Creación de archivos en tiempo de ejecución" #: ../../src/topics/creating-files-at-runtime.md:3 #: cd0dff10471c4ad2b84e3a0e4d7767ea +#, fuzzy 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 "" +"A veces necesita crear un archivo sobre la marcha desde parámetros de " +"entrada, como herramientas que esperan leer su configuración de entrada de " +"un archivo en lugar de los parámetros de línea de comandos, o necesita un " +"pequeño script de shell." #: ../../src/topics/creating-files-at-runtime.md:7 #: bf4aea0a22334a1ca75cc20e937e6581 @@ -1664,11 +2068,13 @@ msgid "" "To generate such files, we can use the " "[`InitialWorkDirRequirement`](https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." msgstr "" +"Para generar estos archivos, podemos utilizar [`InitialWorkDirRequirement`]" +"(https://w3id.org/cwl/CommandLineTool.html#InitialWorkDirRequirement)." #: ../../src/topics/creating-files-at-runtime.md:9 #: 008f768d56b8465bb4e8f4fde15853a7 msgid "`createfile.cwl`" -msgstr "" +msgstr "`createfile.cwl`" #: ../../src/topics/creating-files-at-runtime.md:15 #: 252f8e897b0942a8be098481890005f3 @@ -1677,6 +2083,9 @@ msgid "" "expanded by the CWL engine before creating the file. Here, insert the " "value at the input `message`." msgstr "" +"Cualquiera de las [expresiones](../topics/expressions.md) gusta `$" +"(input.message)` están expandidas por el motor CWL antes de crear el " +"archivo. Aquí, inserte el valor en el `mensaje` de entrada." #: ../../src/topics/creating-files-at-runtime.md:20 #: aca24b72687c4d4d84bf9de8b71413f7 @@ -1687,6 +2096,12 @@ msgid "" "`\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to " "be evaluated by the shell script instead of the CWL engine." msgstr "" +"Las _expresiones CWL_ son independientes de cualquiera de las _variables de " +"consola_ utilizadas más tarde durante la invocación de herramienta de la " +"línea de comandos. Eso quiere decir que cualquier genuino necesario para el " +"carácter `$` debe estar **escapado** con `\\`. Por instancia, `\\${PREFIX}` " +"anterior es expandido a `$PREFIX}` en el archivo generado para ser evaluado " +"por el guion de consola en vez del motor CWL." #: ../../src/topics/creating-files-at-runtime.md:27 #: 750b3232e8754448bc2b5913539495b8 @@ -1694,13 +2109,15 @@ msgid "" "To test the above CWL tool, use this job to provide the input value " "`message`:" msgstr "" +"Para probar la herramienta CWL de arriba, utilice esta tarea para " +"proporcionar el valor de `message` en la entrada:" #: ../../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 "" +msgstr "`echo-job.yml`" #: ../../src/topics/creating-files-at-runtime.md:35 #: c4f964450d014734877fb3c968353a74 @@ -1709,9 +2126,13 @@ msgid "" " base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the " "command `sh example.sh`. This will run the file we create in the shell." msgstr "" +"Antes de ejecutar esto, miremos cada paso en un poco más de detalle. El " +"comando base `baseCommand: [\"sh\", \"example.sh\"]` ejecutará el comando " +"`sh example.sh`. Esto ejecutará el archivo que creamos en la consola." #: ../../src/topics/creating-files-at-runtime.md:40 #: 9aeea5a6a4244bc7a1626e0cb7351068 +#, fuzzy 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," @@ -1721,6 +2142,14 @@ msgid "" "means that you are using a multiline string (without it, we would need to" " write the whole script on one line)." msgstr "" +"`InitialWorkDirRequirement` requiere un `listing`. Como el `listing` es un " +"array YAML, necesitamos un `-` en la primera línea de cada elemento del " +"array, en este caso tenemos sólo un elemento. `nodo de entrada:` puede tener " +"cualquier valor, pero debe coincidir con lo especificado en la " +"`baseCommand`. La parte final es `entrada:`, esto es seguido por ` WordPress-" +"` que es YAML citando sintaxis, y significa que usted está utilizando una " +"cadena multilínea (sin ella, tendríamos que escribir todo el script en una " +"línea)." #: ../../src/topics/creating-files-at-runtime.md:51 #: 867239e9ad3d4187a2703662a0ca3976 @@ -1728,6 +2157,8 @@ msgid "" "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the " "formatting." msgstr "" +"Consulte la [Guía YAML](../topics/yaml-guide.md#maps) para más acerca del " +"formato." #: ../../src/topics/creating-files-at-runtime.md:54 #: ../../src/topics/environment-variables.md:18 @@ -1740,10 +2171,12 @@ msgid "" "Now invoke `cwltool` with the tool description and the input object on " "the command line:" msgstr "" +"Ahora invoca `cwltool` con la descripción de la herramienta y el objeto de " +"entrada en la línea del comando:" #: ../../src/topics/custom-types.md:1 252a3a17b1ec4d5a9a82ebbf6c2f314c msgid "Custom Types" -msgstr "" +msgstr "Tipos personalizados" #: ../../src/topics/custom-types.md:3 e0275ddda8f84207a58d10c17ca99a45 msgid "" @@ -1753,20 +2186,29 @@ msgid "" "for additional customisation/configuration of a tool/analysis without the" " need to fiddle with the CWL description directly." msgstr "" +"A veces es posible que desee escribir sus propios tipos personalizados para " +"su uso y reutilización en descripciones CWL. El uso de estos tipos " +"personalizados puede reducir la redundancia entre múltiples descripciones " +"que todos utilizan el mismo tipo, y también permite la personalización/" +"configuración adicional de una herramienta/análisis sin la necesidad de " +"trapichear directamente con la descripción de 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 "" +"El siguiente ejemplo es una descripción de CWL de la herramienta del " +"[formato de conversión biom][biom] para convertir un archivo de tabla de " +"bioma estándar al formato hdf5." #: ../../src/topics/custom-types.md:12 18b802f45ce0454ab7aa2a21812863c6 msgid "`custom-types.cwl`" -msgstr "" +msgstr "`custom-types.cwl`" #: ../../src/topics/custom-types.md:18 66d1953f5dd54d448bddd0f30c330402 msgid "`custom-types.yml`" -msgstr "" +msgstr "`custom-types.yml`" #: ../../src/topics/custom-types.md:24 56b8912a1ea84f28adeb8beaf92ab563 msgid "" @@ -1776,12 +2218,20 @@ msgid "" "types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via " "`wget`:" msgstr "" +"___Nota:___ Para seguir el ejemplo a continuación, necesita [descargar el " +"archivo de entrada de ejemplo](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* por ejemplo " +"mediante `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 "" +"En la línea 29, en `inputs:table_type`, es importado como objeto " +"personalizado una lista de opciones de tabla concedidas para ser utilizadas " +"en la conversión de tabla:" #: ../../src/topics/custom-types.md:46 c791096f537141e8bd7cc941d711d108 msgid "" @@ -1793,14 +2243,23 @@ msgid "" "`custom-types.yml`, we pass `OTU table` as an `input` that tells the tool" " to create an OTU table in hdf5 format." msgstr "" +"La referencia a un tipo personalizado es una combinación del nombre del " +"archivo en el que se define el objeto (`biom-convert-table.yaml`) y el " +"nombre del objeto dentro de ese archivo (`table_type`) que define el tipo " +"personalizado. En este caso, la formación `symbols` del archivo importado " +"`biom-convert-table.yaml` define las opciones de tabla permitidas. Por " +"ejemplo, en `custom-types.yml`, pasamos `OTU table` como `input` que indica " +"a la herramienta que cree una tabla OTU en formato hdf5." #: ../../src/topics/custom-types.md:53 5f6bc6ed72334a74b9a4c46c29ddda46 msgid "The contents of the YAML file describing the custom type are given below:" msgstr "" +"El contenido del archivo YAML que describe el tipo personalizado de " +"proporciona a continuación:" #: ../../src/topics/custom-types.md:55 3b55419088e8446994703220bd8e8480 msgid "`biom-convert-table.yaml`" -msgstr "" +msgstr "`biom-convert-table.yaml`" #: ../../src/topics/custom-types.md:61 fe6f4ce5e7344af0abea9d5c03e32ecd msgid "" @@ -1809,6 +2268,10 @@ msgid "" "`requirements:SchemaDefRequirement`, as below in the example `custom-" "types.cwl` description:" msgstr "" +"Para que el tipo personalizado se utilice en la descripción CWL, debe ser " +"importado. Las importaciones se describen en " +"`requirements:SchemaDefRequirement`, como en el ejemplo de descripción " +"`custom-types.cwl`:" #: ../../src/topics/custom-types.md:76 dce43b138ba24b22bfa9fa5692a17009 msgid "" @@ -1820,10 +2283,17 @@ msgid "" "These features are discussed further in other chapters of this user " "guide." msgstr "" +"Tenga en cuenta también que el autor de esta descripción de CWL también ha " +"incluido [`ResourceRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#ResourceRequirement)s, especificando la cantidad mínima " +"de RAM y la cantidad de núcleos necesarios para que la herramienta se " +"ejecute correctamente, así como detalles de la versión del software en la " +"que se escribió la metada útil. Estas características se examinan más " +"adelante en otros capítulos de esta guía de usuario." #: ../../src/topics/environment-variables.md:1 19737f89f2994815969fa4a88346f49a msgid "Environment Variables" -msgstr "" +msgstr "Variables de entorno" #: ../../src/topics/environment-variables.md:3 ad965f75aa0c41cda8b82c46af49774d msgid "" @@ -1831,40 +2301,54 @@ msgid "" " variables from the parent process. You can set environment variables " "for the tool using `EnvVarRequirement`." msgstr "" +"Las herramientas se ejecutan en un entorno restringido y no heredan la " +"mayoría de las variables de entorno del proceso antecesor. Puede establecer " +"variables de entorno para la herramienta utilizando `EnvVarRequirement`." #: ../../src/topics/environment-variables.md:7 38b276f9b0114a0bb87734f0a07a736f msgid "`env.cwl`" -msgstr "" +msgstr "`env.cwl`" #: ../../src/topics/expression-tool.md:1 9f33532119dc47ffb6ade20fb1d950bd msgid "Expression Tool" -msgstr "" +msgstr "Herramienta de expresión" #: ../../src/topics/expression-tool.md:3 b267056eae704737af5aaada3ea7e6e2 +#, fuzzy 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 "" +"Una herramienta de expresión es un tipo de proceso que puede ejecutarse por " +"sí mismo o como un paso de flujo de trabajo. Ejecuta una expresión " +"JavaScript pura. Está pensada para ser utilizada como una forma de aislar " +"expresiones JavaScript complejas que necesitan operar sobre datos de entrada " +"y producir algún resultado como salida." #: ../../src/topics/expression-tool.md:8 7e930144163e4d6e9f0bcaa764497ccf +#, fuzzy 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 "" +"Similar a la herramienta de línea de comandos que requiere `inputs` y " +"`outputs`. Pero en lugar de `baseCommand`, requiere una [`expresión`]" +"(https://w3id.org/cwl/CommandLineTool.html#Expressions_(Optional)) atributo." #: ../../src/topics/expression-tool.md:17 f172488c19a94d688036197117d30b38 msgid "CWL expression tool." -msgstr "" +msgstr "Herramienta de expresión CWL." #: ../../src/topics/expression-tool.md:48 ef978c951f1a4b7d9280d31367e5bae7 msgid "`uppercase.cwl`" -msgstr "" +msgstr "`uppercase.cwl`" #: ../../src/topics/expression-tool.md:67 0b63da31bc274b3cad798b07149592ab +#, fuzzy msgid "" "We had to use an " "[`InlineJavascriptRequirement`](https://w3id.org/cwl/CommandLineTool.html#InlineJavascriptRequirement)" @@ -1872,10 +2356,15 @@ msgid "" "means to tools using the expression tool that JavaScript is a " "requirement." msgstr "" +"Tuvimos que utilizar un [`InlineJavascriptRequirement`](https://w3id.org/cwl/" +"commandlinetool.html#InlineJavascriptRequirement) como nuestra expresión " +"contiene una llamada de Javascript en `.toUpperCase()`. Esto significa a las " +"herramientas que utilizan la herramienta de expresión que JavaScript es un " +"requisito ." #: ../../src/topics/expressions.md:1 b0e567a985f748538552bdb486a47998 msgid "Expressions" -msgstr "" +msgstr "Expresiones" #: ../../src/topics/expressions.md:3 24d05cbbab8e460e99f2edc97ab0dcec msgid "" @@ -1884,8 +2373,14 @@ msgid "" " and then anywhere a parameter reference is legal you can provide a " "fragment of Javascript that will be evaluated by the CWL runner." msgstr "" +"Si necesita manipular los parámetros de entrada, incluya el requisito " +"[`InlineJavascriptRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#InlineJavascriptRequirement) y luego cualquier " +"referencia del parámetro es legal puede proporcionar un fragmento de " +"JavaScript que será evaluado por el ejecutantes CWL." #: ../../src/topics/expressions.md:9 3d48d1a8f7f74bc1886e41653cb53a22 +#, fuzzy msgid "" "JavaScript expressions should only be used when absolutely necessary. " "When manipulating file names, extensions, paths etc, consider whether one" @@ -1893,41 +2388,55 @@ msgid "" "`nameroot`, `nameext`, etc, could be used instead. See the [list of best " "practices](best-practices.md)." msgstr "" +"Las expresiones JavaScript sólo deben utilizarse cuando sea absolutamente " +"necesario. Al manipular nombres de archivo, extensiones, rutas, etc., " +"considere la posibilidad de utilizar una de las [propiedades integradas " +"`File`][file-prop] como `basename`, `nameroot`, `nameext`, etc., en su " +"lugar. Consulte la [lista de mejores prácticas](best-practices.md)." #: ../../src/topics/expressions.md:16 7d444aacd418466bbe588fa964b45179 msgid "`expression.cwl`" -msgstr "" +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 "" +"Como esta herramienta no requiere ninguna entrada (`intro`), podemos " +"ejecutarla con un archivo de trabajo (casi) vacío:" #: ../../src/topics/expressions.md:25 d679fd1363b24c81979c68e7342159cf msgid "`empty.yml`" -msgstr "" +msgstr "`empty.yml`" #: ../../src/topics/expressions.md:31 d2ee4fcece744b6681f29322b5305111 +#, fuzzy 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 "" +"El archivo `empty.yml` contiene la descripción de un objeto JSON vacío. Las " +"descripciones de objetos JSON están contenidas dentro de llaves `{}`, por lo " +"que un objeto vacío se representa simplemente por un conjunto de llaves " +"vacías." #: ../../src/topics/expressions.md:35 624e4a270e374b1699b780df508b9184 msgid "We can then run `expression.cwl`:" -msgstr "" +msgstr "Podemos entonces ejecutar `expression.cwl`:" #: ../../src/topics/expressions.md:37 c252eac9a35e46aab08bd07bc1cdb57d msgid "Running `expression.cwl`" -msgstr "" +msgstr "Ejecutando `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 "" +"Tenga en cuenta que los requisitos pueden proporcionarse con la sintaxis del " +"mapa, como en el ejemplo anterior:" #: ../../src/topics/expressions.md:54 052e24e2ad044cc28f04d7f39be871d6 msgid "" @@ -1935,28 +2444,35 @@ msgid "" "InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to" " describe the additional command line arguments." msgstr "" +"O como un array, con cada apunte (en este caso, sólo `class: " +"InlineJavascriptRequirement`) marcada por un `-`. La misma sintaxis se " +"utiliza para describir los argumentos adicionales de la línea de comandos." #: ../../src/topics/expressions.md:62 84b31c076d4b4826aae35e8c23fe6a25 msgid "Where are JavaScript expressions allowed?" -msgstr "" +msgstr "¿Dónde son concedidas las expresiones en 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 "" +"Al igual que las [referencias de parámetro](parameter-references.md), puede " +"utilizar JavaScript Expressions sólo en determinados campos. Éstos son:" #: ../../src/topics/expressions.md:66 9bf5ca0e769147c6a9705bc40bd1febc msgid "" "From " "[`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" msgstr "" +"Origen [`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 "" +msgstr "`argumentos`" #: ../../src/topics/expressions.md:68 ../../src/topics/expressions.md:76 #: ../../src/topics/expressions.md:89 @@ -1967,31 +2483,33 @@ msgstr "" #: a6fddc160afc4ef09717f69de72c11ce a9ec99ddcb344bcbbe5c1f59af0bcff2 #: af2cdb5f66ac4fd5b8f91258f005cc62 msgid "`valueFrom`" -msgstr "" +msgstr "`valueFrom`" #: ../../src/topics/expressions.md:69 #: ../../src/topics/parameter-references.md:66 afb175f182354cb19e23b1cad241437e #: f9a6718845e24f46b76fcc8ab26eec7a msgid "`stdin`" -msgstr "" +msgstr "`stdin`" #: ../../src/topics/expressions.md:70 #: ../../src/topics/parameter-references.md:67 3bce21dcc2da439daca80c4fcdf4c343 #: 7f5ce097ca0442a6a200599342a6e24b msgid "`stdout`" -msgstr "" +msgstr "`stdout`" #: ../../src/topics/expressions.md:71 #: ../../src/topics/parameter-references.md:68 3397e8816f6a4d4b9af728c175f04917 #: 7b14686e16eb4f488659b22d67ec3bfa msgid "`stderr`" -msgstr "" +msgstr "`stderr`" #: ../../src/topics/expressions.md:72 7a2d74aa018f4cab8c68e8775d83dd01 msgid "" "From " "[CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" msgstr "" +"Desde [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 @@ -2004,7 +2522,7 @@ msgstr "" #: 7de500d3be6b4c3e8f274fd6a092109f 953d824a494947a3ab0ca2988717ee01 #: b301751f90af4700bbada5e5b166be35 msgid "`format`" -msgstr "" +msgstr "`format`" #: ../../src/topics/expressions.md:74 ../../src/topics/expressions.md:79 #: ../../src/topics/expressions.md:86 ../../src/topics/expressions.md:94 @@ -2017,43 +2535,49 @@ msgstr "" #: 8595d62eb0274b3a8a7f0adf058b51d3 988966a2d4844e73961b0358aff8f6e1 #: faa7d521fec240748407d03ffdb93aa0 msgid "`secondaryFiles`" -msgstr "" +msgstr "`secondaryFiles`" #: ../../src/topics/expressions.md:75 d737a9e9bf1c45d695bf584bc3241d9a msgid "" "From " "[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" msgstr "" +"Origen [`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 "" +"Origen [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 "" +"Origen [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 "" +msgstr "`glob`" #: ../../src/topics/expressions.md:82 #: ../../src/topics/parameter-references.md:79 2325a310f2bc4d09b53b32c54efae2df #: 9e477e2cfab24861b517fe2fb52962f4 msgid "`outputEval`" -msgstr "" +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 "" +msgstr "Desde [`Flujo de trabajo`](https://w3id.org/cwl/workflow.html)" #: ../../src/topics/expressions.md:84 0d54a777a33d4f17a2f3390384a3c0c5 msgid "" @@ -2062,18 +2586,23 @@ msgid "" " and " "[WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" msgstr "" +"Desde [InputParameter](https://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) y [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 "" +msgstr "Desde `steps`" #: ../../src/topics/expressions.md:88 7b37eb600c9b4847a58a7e5077bef4c3 msgid "" "From " "[WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" msgstr "" +"Desde [WorkflowStepInput](https://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" #: ../../src/topics/expressions.md:90 #: ../../src/topics/parameter-references.md:87 368ef005c2ca4b8599f76242f7178375 @@ -2082,12 +2611,14 @@ msgid "" "From " "[ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" msgstr "" +"Desde [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 "" +msgstr "`expresión`" #: ../../src/topics/expressions.md:92 fd504478a6c641e0a72321fa80ad1c9c msgid "" @@ -2096,126 +2627,146 @@ msgid "" " and " "[ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" msgstr "" +"Desde [InputParameter](https://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) y [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 "" +"Desde [`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 "" +msgstr "`coresMin`" #: ../../src/topics/expressions.md:97 #: ../../src/topics/parameter-references.md:94 57a055b125f742dc8842b798b034161b #: e84bc5505a6549ae9aacde8cb9225403 msgid "`coresMax`" -msgstr "" +msgstr "`coresMax`" #: ../../src/topics/expressions.md:98 #: ../../src/topics/parameter-references.md:95 98cd455e080f43749090270e7a61cb42 #: e698ea756fe94e99837312fb30c9f9bf msgid "`ramMin`" -msgstr "" +msgstr "`ramMin`" #: ../../src/topics/expressions.md:99 #: ../../src/topics/parameter-references.md:96 8dfae10004a641fdb95c456c90a48d94 #: bef90c153d4f4397b1f69f9beb38f7e6 msgid "`ramMax`" -msgstr "" +msgstr "`ramMax`" #: ../../src/topics/expressions.md:100 #: ../../src/topics/parameter-references.md:97 47fddc711ce44086a7811bdfbd9167dd #: e2bdf4fe676346cbb4443ee54fb7419b msgid "`tmpdirMin`" -msgstr "" +msgstr "`tmpdirMin`" #: ../../src/topics/expressions.md:101 #: ../../src/topics/parameter-references.md:98 7d143ba98f1f4dfcbe08b70389d43092 #: 8f1665baca2e4e3b96026b50d132709a msgid "`tmpdirMax`" -msgstr "" +msgstr "`tmpdirMax`" #: ../../src/topics/expressions.md:102 #: ../../src/topics/parameter-references.md:99 79bea45c2a484eda92c8578130b0b982 #: d169949866a24e31947dffcb94620c5f msgid "`outdirMin`" -msgstr "" +msgstr "`outdirMin`" #: ../../src/topics/expressions.md:103 #: ../../src/topics/parameter-references.md:100 #: 8d2e01f2aa314f1cb1231f2e08f89ce5 d5417397b1e242ef9878ac77d2f65005 msgid "`outdirMax`" -msgstr "" +msgstr "`outdirMax`" #: ../../src/topics/expressions.md:104 08a66b2ab271494d810ff5834ca5c1bc msgid "" "From " "[`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" msgstr "" +"Desde [`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 "" +msgstr "`listing`" #: ../../src/topics/expressions.md:106 7d8755f05d6541439f72ec9d6806d3fc msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" -msgstr "" +msgstr "en [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 "" +msgstr "`apunte`" #: ../../src/topics/expressions.md:108 #: ../../src/topics/parameter-references.md:105 #: 02cfd4f1c3014e1eaa598a329dc5a95d d76fb015595e4194a7e15d714baaaf98 msgid "`entryname`" -msgstr "" +msgstr "`entryname`" #: ../../src/topics/expressions.md:109 #: ../../src/topics/parameter-references.md:106 #: 408f69a2df1343a78f93ff2ac0a994ea d37c78309e8b427f835af4fbd367e643 msgid "From `EnvVarRequirement`" -msgstr "" +msgstr "Desde `EnvVarRequirement`" #: ../../src/topics/expressions.md:110 53752bdff0974e39b2a86e8f2d96455f msgid "" "From " "[EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" msgstr "" +"Desde [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 "" +msgstr "`envValue`" #: ../../src/topics/expressions.md:116 93d6c90b49d8424f9283c384062ce333 msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" msgstr "" +"Uso de Bibliotecas Externas y Código JavaScript Inline con `expressionLib`" #: ../../src/topics/expressions.md:118 ea6cbaa5dae647538c0bd9a4d5cad3f9 +#, fuzzy 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 "" +"El requisito [`InlineJavascriptRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#InlineJavascriptRequirement) admite un atributo " +"`expressionLib` que permite a los usuarios cargar archivos JavaScript " +"externos, o proporcionar código JavaScript en línea." #: ../../src/topics/expressions.md:122 484dc17440524cfda4dc486a7c5d5f63 +#, fuzzy 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 "" +"Las entradas añadidas al atributo `expressionLib` se analizan con el motor " +"JavaScript de un ejecutor CWL. Esto se puede utilizar para incluir archivos " +"externos o para crear funciones JavaScript que se pueden llamar en otras " +"partes del documento CWL." #: ../../src/topics/expressions.md:128 5b2336cae1ef4cae8ed187d3f33cff25 msgid "" @@ -2226,6 +2777,11 @@ msgid "" "that any code that you include or write in your CWL Document must be " "compliant with ECMAScript 5.1." msgstr "" +"Las normas CWL (versiones 1.0 a 1.2) [establecen](https://www.commonwl.org/" +"v1.0/CommandLineTool.html#Expressions) que la única versión de JavaScript " +"válida en las expresiones CWL es [ECMAScript 5.1](https://262.ecma-" +"international.org/5.1/). Esto significa que cualquier código que incluya o " +"escriba en su documento CWL debe ser compatible con ECMAScript 5.1." #: ../../src/topics/expressions.md:135 32eca3a47efc4685bf7be706e123adbe msgid "" @@ -2233,10 +2789,13 @@ msgid "" "JavaScript function inline in `expressionLib`. That function can then be " "used in other parts of the CWL document:" msgstr "" +"Por ejemplo, podemos utilizar `InlineJavascriptRequirement` y escribir una " +"función JavaScript inline en `expressionLib`. Esa función se puede utilizar " +"en otras partes del documento CWL:" #: ../../src/topics/expressions.md:139 6839a02fb82d45c29ae518f2b00cb9d5 msgid "`hello-world-expressionlib-inline.cwl`" -msgstr "" +msgstr "`hello-world-expressionlib-inline.cwl`" #: ../../src/topics/expressions.md:146 5b5e59fa1688499ea4560ee6f8023227 msgid "" @@ -2244,37 +2803,47 @@ msgid "" "in the `echo` command printing the input message with capital initial " "letters:" msgstr "" +"La ejecución de este flujo de trabajo CWL invocará la función JavaScript y " +"dará lugar a que el comando `echo` imprima el mensaje de entrada con letras " +"iniciales mayúsculas:" #: ../../src/topics/expressions.md:149 a1e57c6833c848d3974cf448493ab924 msgid "Running `hello-world-expressionlib-inline.cwl`." -msgstr "" +msgstr "Ejecutando `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 "" +"Movamos la función `capitalizeWords` a un archivo externo, `custom-" +"functions.js`, e importémoslo en nuestro documento CWL:" #: ../../src/topics/expressions.md:158 71ac99c65d15451cbbf58d1e81934010 msgid "`custom-functions.js`" -msgstr "" +msgstr "`custom-functions.js`" #: ../../src/topics/expressions.md:164 60918e53189243d3872e61c7a4de20fc msgid "`hello-world-expressionlib-external.cwl`" -msgstr "" +msgstr "`hello-world-expressionlib-external.cwl`" #: ../../src/topics/expressions.md:171 ad2a74bd983b47869dc78b2eb7b6fce1 +#, fuzzy 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 "" +"El archivo `custom-functions.js` se incluye en el documento CWL con la " +"sentencia `$include: custom-functions.js`. Esto hace que las funciones y " +"variables estén disponibles para su uso en otras partes del documento CWL." #: ../../src/topics/expressions.md:175 82c02dd2446b4de9a4c4b87736107b30 msgid "Running `hello-world-expressionlib-external.cwl`." -msgstr "" +msgstr "Ejecutando `hello-world-expressionlib-external.cwl`." #: ../../src/topics/expressions.md:181 6fa7ebeffc7b44c6a12cd84897d186a1 +#, fuzzy 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 " @@ -2282,14 +2851,19 @@ msgid "" "`createHelloWorldMessage`, that calls the `capitalizeWords` function from" " the external file `custom-functions.js`." msgstr "" +"Por último, ten en cuenta que puedes tener código JavaScript tanto en línea " +"como externo en tu documento CWL. En este ejemplo final hemos añadido otra " +"entrada al atributo `expressionLib` con la nueva función " +"`createHelloWorldMessage`, que llama a la función `capitalizeWords` del " +"archivo externo `custom-functions.js`." #: ../../src/topics/expressions.md:186 d34f3e688d2d49b6bfcda4c962895d8c msgid "`hello-world-expressionlib.cwl`" -msgstr "" +msgstr "`hello-world-expressionlib.cwl`" #: ../../src/topics/expressions.md:193 9e2774fc35b14832a0f92b7afaafd537 msgid "Running `hello-world-expressionlib.cwl`." -msgstr "" +msgstr "Ejecutando `hello-world-expressionlib.cwl`." #: ../../src/topics/expressions.md:200 8b797cfb232f4e5da51f6c21e9a8e7e3 msgid "" @@ -2299,12 +2873,18 @@ msgid "" "`$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from " "the CWL specification to learn more about it." msgstr "" +"La sentencia `$include` puede utilizarse para incluir un archivo del disco " +"local o de una ubicación remota. Funciona tanto con rutas relativas como " +"absolutas. Lea el [texto sobre `$include`](https://www.commonwl.org/v1.0/" +"SchemaSalad.html#Include) de la especificación CWL para obtener más " +"información." #: ../../src/topics/file-formats.md:1 ac906f26116c45d882e1afa42ae38e34 msgid "File Formats" -msgstr "" +msgstr "Formatos de archivo" #: ../../src/topics/file-formats.md:3 d99dab4f2f264c68b839b59b80d570e0 +#, fuzzy msgid "" "Tools and workflows can take " "[`File`](https://w3id.org/cwl/CommandLineTool.html#File) types as input " @@ -2313,6 +2893,12 @@ msgid "" "helps document for others how to use your tool while allowing you to do " "some simple type-checking when creating parameter files." msgstr "" +"Las herramientas y los flujos de trabajo pueden tomar [`Archivo`](https://" +"w3id.org/cwl/CommandLineTool.html#File) tipos como entrada y producirlos " +"como salida. También recomendamos indicar el formato para [`Archivo`]" +"(https://w3id.org/cwl/CommandLineTool.html#File) tipos. Esto ayuda a " +"documentar para otros cómo utilizar su herramienta al tiempo que le permite " +"hacer un tipo de comprobación simple al crear archivos de parámetro." #: ../../src/topics/file-formats.md:8 23ba3dd26f5543119e2c152105b58e98 msgid "" @@ -2322,6 +2908,12 @@ msgid "" " tool with others. You can browse existing [IANA file format " "listings][IANA] and [EDAM file format listings][EDAM] on their websites." msgstr "" +"Para los formatos de archivo, recomendamos hacer referencia a ontologías " +"existentes (como EDAM en nuestro ejemplo), hacer referencia a una ontología " +"local para su institución, o no añadir un formato de archivo inicialmente " +"para un desarrollo rápido antes de compartir su herramienta con otros. Puede " +"consultar los [listados de formatos de archivo de IANA][IANA] y los " +"[listados de formatos de archivo de EDAM][EDAM] existentes en sus sitios web." #: ../../src/topics/file-formats.md:14 81c441846fc249c58607bacf97095eb8 msgid "" @@ -2329,26 +2921,32 @@ msgid "" "section of the document in greater detail, so don't worry about these for" " now." msgstr "" +"En el próximo tutorial, explicaremos la sección `$namespaces` y `$schemas` " +"del documento con más detalle, así que no te preocupes por ellos por ahora." #: ../../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 "" +"Tenga en cuenta que, como valor añadido, `cwltool` puede realizar algunos " +"razonamientos básicos basados en los formatos de los archivos y avisarle si " +"parece que hay algunos desajustes obvios." #: ../../src/topics/file-formats.md:20 c5f6f6e4c23e4bf19dee69acb8ebed8e msgid "`metadata_example.cwl`" -msgstr "" +msgstr "`metadatos_ejemplo.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 "" +"El equivalente de esta descripción CWL en formato de línea de comandos es:" #: ../../src/topics/file-formats.md:32 632e441919094610b97afc17e9c5e625 msgid "Sample Parameter Files" -msgstr "" +msgstr "Ejemplos de archivos de parámetros" #: ../../src/topics/file-formats.md:34 afd8633db1904897aa3e499354b1c376 msgid "" @@ -2357,10 +2955,14 @@ msgid "" "This allows others to quickly work with your tool, starting from a " "\"known good\" parameterization." msgstr "" +"A continuación se muestra un ejemplo de archivo de parámetros para el " +"ejemplo anterior. Le animamos a que envíe ejemplos de archivos de parámetros " +"de su herramienta. Esto permite a otros trabajar rápidamente con su " +"herramienta, a partir de una parametrización \"buena conocida\"." #: ../../src/topics/file-formats.md:39 bb69d6963c174191bf527335c3f665b7 msgid "`sample.yml`" -msgstr "" +msgstr "`muestra.yml`" #: ../../src/topics/file-formats.md:45 ddb4f6f81c7d462b974e98c88dd3f558 msgid "" @@ -2370,18 +2972,23 @@ msgid "" "language/user_guide/raw/main/src/_includes/cwl/file-formats/file-" "formats.bam> and can be downloaded e.g. via `wget`:" msgstr "" +"___Nota:___ Para seguir el siguiente ejemplo, es necesario descargar el " +"archivo de entrada de ejemplo, *file-formats.bam*. El archivo está " +"disponible en y puede descargarse, " +"por ejemplo, mediante `wget`:" #: ../../src/topics/index.md:1 2995cd4fb85c423dba021611dac4a137 msgid "Topics" -msgstr "" +msgstr "Temas" #: ../../src/topics/inputs.md:1 3bac021fe7614d74ae701fb3c3765b93 msgid "Inputs" -msgstr "" +msgstr "Entradas" #: ../../src/topics/inputs.md:3 8bb3ee0cd0fc4d85ba007431fc541973 msgid "Essential Input Parameters" -msgstr "" +msgstr "Parámetros de entrada esenciales" #: ../../src/topics/inputs.md:5 17365707f58242369dd6aa73fc8d7242 msgid "" @@ -2389,6 +2996,10 @@ msgid "" "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 "" +"Las `entradas` de una herramienta son una lista de parámetros de entrada que " +"controlan cómo se ejecuta la herramienta. Cada parámetro tiene un `id` para " +"el nombre del parámetro, y `type` que describe qué tipos de valores son " +"válidos para ese parámetro." #: ../../src/topics/inputs.md:9 521cb5dead5d4e9ab5ff037fb4b683cb msgid "" @@ -2396,34 +3007,44 @@ msgid "" "*float*, *double*, and *null*; complex types are *array* and *record*; in" " addition there are special types *File*, *Directory* and *Any*." msgstr "" +"Los tipos primitivos disponibles son *string*, *boolean*, *int*, *long*, " +"*float*, *double*, y *null*; los tipos complejos son *array* y *record*; " +"además hay tipos especiales *File*, *Directory* y *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 "" +"El siguiente ejemplo demuestra algunos parámetros de entrada con diferentes " +"tipos y que aparecen en la línea de comandos de diferentes maneras." #: ../../src/topics/inputs.md:16 008f79cdf0074c73948bf50deb0a8a47 msgid "First, create a file called `inp.cwl`, containing the following:" msgstr "" +"En primer lugar, cree un archivo llamado `inp.cwl`, que contenga lo " +"siguiente:" #: ../../src/topics/inputs.md:18 94cd3f10e94f4735bd3ae7dc168e5deb msgid "`inp.cwl`" -msgstr "" +msgstr "`inp.cwl`" #: ../../src/topics/inputs.md:24 b339be370e8742b69400c8040ad7d15b msgid "Create a file called `inp-job.yml`:" -msgstr "" +msgstr "Crea un archivo llamado `inp-job.yml`:" #: ../../src/topics/inputs.md:26 78974fb2475947ccb8b8c55e34df5fa6 msgid "`inp-job.yml`" -msgstr "" +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 "" +"Puedes utilizar `cwltool` para crear una plantilla de objeto de entrada. Eso " +"le ahorra tener que teclear todos los parámetros de entrada en un archivo de " +"objeto de entrada:" #: ../../src/topics/inputs.md:40 5ac6da11d56446de97c251a37d997671 msgid "" @@ -2431,18 +3052,25 @@ msgid "" "inp.cwl > inp-job.yml`, and then modify the default values with your " "desired input values." msgstr "" +"Puede redirigir la salida a un archivo, por ejemplo, `cwltool --make-" +"template inp.cwl > inp-job.yml`, y luego modificar los valores por defecto " +"con sus valores de entrada deseados." #: ../../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 "" +"Observe que \"archivo_ejemplo\", como un tipo `Archivo`, debe proporcionarse " +"como un objeto con los campos `class: File` y `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 "" +"A continuación, cree un whale.txt utilizando [touch] escribiendo `touch " +"whale.txt` en la línea de comandos." #: ../../src/topics/inputs.md:53 8cabfa0cbcfd4a5aa30d1aabd412136d msgid "" @@ -2451,6 +3079,10 @@ msgid "" "following boxed text describes these two commands and the expected output" " from the command line:" msgstr "" +"Ahora invoque `cwltool` con la descripción de la herramienta y el objeto de " +"entrada en la línea de comandos, utilizando el comando `cwltool inp.cwl inp-" +"job.yml`. El siguiente recuadro describe estos dos comandos y la salida " +"esperada de la línea de comandos:" #: ../../src/topics/inputs.md:64 5c78d7824ef34636ae2ed68d524d79e8 msgid "" @@ -2459,6 +3091,10 @@ msgid "" "that the tools aren't accidentally accessing files that were not " "explicitly specified" msgstr "" +"El ejecutor de referencia CWL (cwltool) y otros ejecutores crean directorios " +"temporales con enlaces simbólicos (\"soft\") a los archivos de entrada para " +"garantizar que las herramientas no accedan accidentalmente a archivos que no " +"se hayan especificado explícitamente" #: ../../src/topics/inputs.md:70 5bdf77c45346445d8f93353c1e73f768 msgid "" @@ -2469,6 +3105,11 @@ msgid "" "parameter does not appear on the command line. Let's look at each " "example in detail." msgstr "" +"El campo [`inputBinding`](https://w3id.org/cwl/" +"CommandLineTool.html#Input_binding) es opcional e indica si y como el " +"parámetro de entrada aparecería en la línea de comandos de la herramienta. " +"Si `inputBinding` está ausente, el parámetro no aparece en la línea de " +"comandos. Miremos cada ejemplo en detalle." #: ../../src/topics/inputs.md:83 d783fe52e86f4feda33ea0eecb622603 msgid "" @@ -2476,6 +3117,9 @@ msgid "" "\"example_flag\" is \"true\", then `prefix` will be added to the command " "line. If false, no flag is added." msgstr "" +"Los tipos booleanos se tratan como una bandera. Si el parámetro de entrada " +"\"example_flag\" es \"true\", se añadirá `prefix` a la línea de órdenes. Si " +"es \"false\", no se añadirá ninguna bandera." #: ../../src/topics/inputs.md:95 f99fb9a6d0374ef78503815d4db9006d msgid "" @@ -2484,6 +3128,10 @@ msgid "" "command line before the parameter . In the example above, this is " "rendered as `--example-string hello`." msgstr "" +"Los tipos de cadena aparecen en la línea de órdenes como valores literales. " +"El `prefijo` es opcional, si se proporciona, aparece como un argumento " +"separado en la línea de órdenes antes del parámetro . En el ejemplo " +"anterior, aparece como `--example-string hello`." #: ../../src/topics/inputs.md:109 b106eed01c1744a792368f91f547e553 msgid "" @@ -2492,6 +3140,10 @@ msgid "" "default value is true), the prefix and value are combined into a single " "argument. In the example above, this is rendered as `-i42`." msgstr "" +"Los tipos enteros (y de coma flotante) aparecen en la línea de órdenes con " +"representación de texto decimal. Cuando la opción `separate` es falsa (el " +"valor por defecto es verdadero), el prefijo y el valor se combinan en un " +"único argumento. En el ejemplo anterior, aparece como `-i42`." #: ../../src/topics/inputs.md:124 1c70336741a842a5b16b687642d1d9b4 msgid "" @@ -2502,12 +3154,20 @@ msgid "" "parameter were not provided in the input, nothing would appear on the " "command line." msgstr "" +"Los tipos de archivo aparecen en la línea de comandos como la ruta al " +"archivo. Cuando el tipo de parámetro termina con un signo de interrogación " +"`?` indica que el parámetro es opcional. En el ejemplo anterior, aparece " +"como `--file=/tmp/random/path/whale.txt`. Sin embargo, si no se introdujera " +"el parámetro \"archivo_ejemplo\", no aparecería nada en la línea del comando." #: ../../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 "" +"Los archivos de entrada son de sólo lectura. Si desea actualizar un archivo " +"de entrada, debe [copiarlo primero en el directorio de salida](staging-input-" +"files.md)." #: ../../src/topics/inputs.md:134 a07137c36e63495f836c483fd472904f msgid "" @@ -2519,16 +3179,26 @@ msgid "" "broken using the parameter name), and the position field itself is " "optional. The default position is 0." msgstr "" +"El valor de `position` se utiliza para determinar dónde debe aparecer el " +"parámetro en la línea de órdenes. Las posiciones son relativas entre sí, no " +"absolutas. Como resultado, las posiciones no tienen por qué ser " +"secuenciales, tres parámetros con las posiciones 1, 3, 5 darán como " +"resultado la misma línea de órdenes que 1, 2, 3. Más de un parámetro puede " +"tener la misma posición (los empates se rompen utilizando el nombre del " +"parámetro), y el campo de posición en sí es opcional. La posición por " +"defecto es 0." #: ../../src/topics/inputs.md:142 7513adabd3ae4701b17f578ac9f321d7 msgid "" "The `baseCommand` field will always appear in the final command line " "before the parameters." msgstr "" +"El campo `baseCommand` aparecerá siempre en la línea final del comando antes " +"de los parámetros." #: ../../src/topics/inputs.md:146 c3c82d25a75941b0b50a4a6bb826568f msgid "Array Inputs" -msgstr "" +msgstr "Entradas de formación" #: ../../src/topics/inputs.md:148 b11a5c7a13b345939e4ae15e1e2c0786 msgid "" @@ -2539,14 +3209,20 @@ msgid "" " be added after the type name to indicate that input parameter is array " "of that type." msgstr "" +"Es fácil añadir matrices de parámetros de entrada representados en la línea " +"de comandos. Hay dos formas de especificar un parámetro de array. La primera " +"es proporcionar el campo `type` con `type: array` y `items` definiendo los " +"tipos de datos válidos que pueden aparecer en el array. Alternativamente, se " +"pueden añadir los corchetes `[]` después del nombre del tipo para indicar " +"que el parámetro de entrada es un array de ese tipo." #: ../../src/topics/inputs.md:154 aa00bcfc6c0f4085ae52621a2f4ae8d9 msgid "`array-inputs.cwl`" -msgstr "" +msgstr "`array-inputs.cwl`" #: ../../src/topics/inputs.md:160 e730b2b9bace4427bdd045556963634f msgid "`array-inputs-job.yml`" -msgstr "" +msgstr "`array-inputs-job.yml`" #: ../../src/topics/inputs.md:166 ../../src/topics/outputs.md:86 #: ../../src/topics/outputs.md:109 015a0f00c2b245e2b0e87735926da736 @@ -2555,6 +3231,8 @@ msgid "" "Now invoke `cwltool` providing the tool description and the input object " "on the command line:" msgstr "" +"Ahora invoque `cwltool` proporcionando la descripción de la herramienta y el " +"objeto de entrada en la línea de comandos:" #: ../../src/topics/inputs.md:178 13e59751d43b49f0ac366538a14f9c84 msgid "" @@ -2565,6 +3243,12 @@ msgid "" "values should be concatenated into a single argument separated by the " "item separator string." msgstr "" +"El campo `inputBinding` puede aparecer tanto en la definición externa del " +"parámetro del array como en la definición interna del elemento del array, y " +"estos producen un comportamiento diferente cuando se construye la línea de " +"comandos, como se muestra arriba. Además, el campo `itemSeparator`, si se " +"proporciona, especifica que los valores del array deben concatenarse en un " +"único argumento separado por la cadena separadora de elementos." #: ../../src/topics/inputs.md:185 bb31c6784ea843ec88f185523cfa25df msgid "" @@ -2576,10 +3260,17 @@ msgid "" "guide.md#arrays). You can specify arrays of arrays, arrays of records, " "and other complex types." msgstr "" +"Tenga en cuenta que las formaciones de entradas se especifican entre " +"corchetes `[]` en `array-inputs-job.yml`. Las formaciones también se pueden " +"expresar en varias líneas, donde los valores de la matriz que no se definen " +"con una clave asociada se marcan con una `-` inicial. Esto se demostrará en " +"la próxima lección y se trata con más detalle en la [Guía YAML](yaml-" +"guide.md#arrays). Se pueden especificar formaciones de formaciones, " +"formaciones de registros y otros tipos complejos." #: ../../src/topics/inputs.md:191 53817379078548b2aeb6195cae9cbab7 msgid "Inclusive and Exclusive Inputs" -msgstr "" +msgstr "Entradas inclusivas y excluyentes" #: ../../src/topics/inputs.md:193 e163c0cfe9694a85b2e42682f42970a5 msgid "" @@ -2588,24 +3279,30 @@ msgid "" "provided together (they are exclusive). You can use records and type " "unions to group parameters together to describe these two conditions." msgstr "" +"A veces, una herramienta subyacente tiene varios argumentos que deben " +"proporcionarse juntos (son dependientes) o varios argumentos que no pueden " +"proporcionarse juntos (son excluyentes). Puedes utilizar registros y " +"uniones de tipos para agrupar parámetros y describir estas dos condiciones." #: ../../src/topics/inputs.md:198 84e1ab25511c49d1baabb1f80f247b49 msgid "`record.cwl`" -msgstr "" +msgstr "`record.cwl`" #: ../../src/topics/inputs.md:204 3d5dfc8ee47b458db638a9eed84b4938 msgid "`record-job1.yml`" -msgstr "" +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 "" +"En el primer ejemplo, no se puede proporcionar el `artículoA` sin " +"proporcionar también el `artículoB`." #: ../../src/topics/inputs.md:217 24ba804374b4471d8e925d80670f9dff msgid "`record-job2.yml`" -msgstr "" +msgstr "`record-job2.yml`" #: ../../src/topics/inputs.md:233 436707d9c7634732ad1e60d8294bd4ba msgid "" @@ -2613,20 +3310,25 @@ msgid "" "first matching item (`itemC`) is added to the command line and remaining " "item (`itemD`) is ignored." msgstr "" +"En el segundo ejemplo, `itemC` y `itemD` son excluyentes, por lo que sólo el " +"primer elemento coincidente (`itemC`) se añade a la línea de comandos y el " +"elemento restante (`itemD`) se ignora." #: ../../src/topics/inputs.md:236 01b168c5faf94ead8d836dfe39e4c592 msgid "`record-job3.yml`" -msgstr "" +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 "" +"En el tercer ejemplo, sólo se proporciona `itemD`, por lo que aparece en la " +"línea de comandos." #: ../../src/topics/inputs.md:255 ffddeeda8f04408ba73f7a59a4618da5 msgid "Exclusive Input Parameters with Expressions" -msgstr "" +msgstr "Parámetros de entrada exclusivos con expresiones" #: ../../src/topics/inputs.md:257 cf22f21ec44c483986979316544a7c3b msgid "" @@ -2636,6 +3338,12 @@ msgid "" "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 "" +"Si utiliza parámetros de entrada exclusivos y los hace referencia en " +"expresiones, necesita ser consciente de que los `inputs` el objeto " +"JavaScript contendrá uno de los posibles valores de entrada mutuamente " +"exclusivos. Debido a que los tipos de estos valores exclusivos pueden " +"diferir, es posible que necesite comprobar qué tipo está en uso cuando hace " +"referencia a las propiedades del objeto `input`." #: ../../src/topics/inputs.md:263 0fecb128b19b44d796b6c1b6de4f7166 msgid "" @@ -2643,26 +3351,39 @@ msgid "" "parameter that accepts `null` (i.e. no value provided), or any value from" " an enum." msgstr "" +"Utilicemos un ejemplo que contiene un parámetro de entrada exclusivo " +"`file_format` que acepta `null` (es decir, no se proporciona ningún valor), " +"o cualquier valor de un enum." #: ../../src/topics/inputs.md:266 7f1941698a6046e9b9e8a53736af949a msgid "`exclusive-parameter-expressions.cwl`" -msgstr "" +msgstr "`exclusive-parameter-expressions.cwl`" #: ../../src/topics/inputs.md:272 60b585142f06489d9f48090b664b6d32 +#, fuzzy 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 "" +"Observe cómo la expresión JavaScript utiliza el valor del parámetro de " +"entrada exclusivo sin tener en cuenta un valor `null`. Si usted proporciona " +"un valor válido, como `fasta` (uno de los posibles valores del enum), su " +"comando debe ejecutarse correctamente:" #: ../../src/topics/inputs.md:281 11fdeb057d674f118830f431ff019c15 +#, fuzzy 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 "" +"Sin embargo, si usted no proporciona ningún valor de entrada, entonces " +"`file_format` será evaluado a `null`, que no coincide con el tipo esperado " +"para el campo de salida (a `string`), resultando en fracaso al ejecutar su " +"flujo de trabajo." #: ../../src/topics/inputs.md:290 8594cca9d93b4280b6cfee64c8a7c578 msgid "" @@ -2671,6 +3392,10 @@ msgid "" "`$(inputs.file_format || 'auto')`, to have a default value `\"auto\"` if " "none was provided in the command line or job input file." msgstr "" +"Para corregirlo, manejaría explícitamente la posibilidad de un valor `null`. " +"Por ejemplo, la expresión pudo ser modificada a `$(inputs.file:format || " +"'auto')`, para tener un valor por defecto `\"auto\"` si ninguno estuvo " +"proporcionado en la línea de comando o archivo de entrada de la tarea." #: ../../src/topics/inputs.md:295 b5055c77f85e43609fe3e9b9839778e3 msgid "" @@ -2682,11 +3407,18 @@ msgid "" "expression’s value becomes that of the second operand, which is why a " "reasonable default can be provided there." msgstr "" +"Aquí, el booleano “o” operador `||` en JavaScript es utilizado para su " +"propiedad _short-circuiting_ . Si `inputs.file_format` es “true” en un " +"contexto booleano (p. ej. una cadena válida no vacía desde el enum), la " +"evaluación de la expresión se detiene en el primer operando de `||`; lo “" +"short-circuits”. Sin embargo, `input_file_format` es `null`, el valor de la " +"expresión completa sucede que del segundo operando, el cual es por qué un " +"razonable predeterminado puede ser proporcionado allí." #: ../../src/topics/metadata-and-authorship.md:1 #: 723c2232310c4276aeac2bd6728d2912 msgid "Metadata and Authorship" -msgstr "" +msgstr "Metadatos y autoría" #: ../../src/topics/metadata-and-authorship.md:3 #: 4d81aac1830045229e5c60c7959074d8 @@ -2702,6 +3434,18 @@ msgid "" "anywhere in the document as shown below. Otherwise, one must use full " "URLs: `format: http://edamontology.org/format_2572`." msgstr "" +"Las extensiones de implementación no necesarias para la correcta ejecución " +"(por ejemplo, los campos relacionados con la presentación de la interfaz " +"gráfica de usuario) y los metadatos sobre la propia herramienta o flujo de " +"trabajo (por ejemplo, la autoría para su uso en citas) pueden proporcionarse " +"como campos adicionales en cualquier objeto. Dichos campos de extensión (por " +"ejemplo, `format: edam:format_2572`) pueden utilizar un prefijo de espacio " +"de nombres enumerado en la sección `$namespaces` del documento (por ejemplo, " +"edam: http://edamontology.org/), tal y como se describe en la " +"[Especificación de la ensalada de esquemas][schema-salad]. Una vez añadido " +"el prefijo del espacio de nombres, se puede acceder a él en cualquier parte " +"del documento, como se muestra a continuación. En caso contrario, hay que " +"utilizar las URL completas: `format: http://edamontology.org/format_2572`." #: ../../src/topics/metadata-and-authorship.md:13 #: 368f8993ae9d401488081d74ae5acd49 @@ -2710,16 +3454,19 @@ msgid "" "tool and workflows. This example includes metadata allowing others to " "cite your tool." msgstr "" +"Para todos los desarrolladores, recomendamos los siguientes metadatos " +"mínimos para su herramienta y flujos de trabajo. Este ejemplo incluye " +"metadatos que permiten a otros citar su herramienta." #: ../../src/topics/metadata-and-authorship.md:16 #: c80f2b180ca74afb8a1fc18f8686304b msgid "`metadata_example2.cwl`" -msgstr "" +msgstr "`metadatos_ejemplo2.cwl`" #: ../../src/topics/metadata-and-authorship.md:28 #: 37b07ea9b7124842b8ba3040f70308e9 msgid "Extended Example" -msgstr "" +msgstr "Ejemplo ampliado" #: ../../src/topics/metadata-and-authorship.md:30 #: 1cd5989ade6741aabe625c13bed3c8ed @@ -2730,15 +3477,20 @@ msgid "" " at hardware requirements in order to use the tool, and a few more " "metadata fields." msgstr "" +"Quienes estén muy motivados también pueden anotar su herramienta con una " +"cantidad mucho mayor de metadatos. Este ejemplo incluye etiquetas de la " +"ontología EDAM como palabras clave (lo que permite agrupar herramientas " +"relacionadas), indicaciones sobre los requisitos de hardware para utilizar " +"la herramienta y algunos campos de metadatos más." #: ../../src/topics/metadata-and-authorship.md:35 #: ae7369ba14404d23b72d1ef30dcd4153 msgid "`metadata_example3.cwl`" -msgstr "" +msgstr "`metadatos_ejemplo3.cwl`" #: ../../src/topics/operations.md:1 a79974b2f4534fcd8c7a04401e8a5556 msgid "Operations" -msgstr "" +msgstr "Operaciones" #: ../../src/topics/operations.md:3 b6507c8e1625476b97708423acb4fd0e msgid "" @@ -2747,16 +3499,23 @@ msgid "" "specifies inputs and outputs, but it does not provide enough information " "to be executed." msgstr "" +"Una Operación es un tipo de proceso CWL, igual que un flujo de trabajo, una " +"herramienta de línea de comandos o una herramienta de expresión. Es un paso " +"de un flujo de trabajo que especifica entradas y salidas, pero no " +"proporciona información suficiente para ser ejecutado." #: ../../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 "" +"Puede crear operaciones para visualizar un flujo de trabajo durante el " +"desarrollo, antes de que esté listo para enviar el flujo de trabajo a un " +"corredor CWL:" #: ../../src/topics/operations.md:10 e9b2b97f3059460b867577a49934a338 msgid "`operations.cwl`" -msgstr "" +msgstr "`operaciones.cwl`" #: ../../src/topics/operations.md:16 d21e9444182d4e27bae934db4573ae99 msgid "" @@ -2764,6 +3523,9 @@ msgid "" " a command line tool or an expression is expected. You can also plot it " "with the CWL Viewer or `cwltool`:" msgstr "" +"El paso en `mayúscula` del flujo de trabajo es una operación. Puede aparecer " +"donde una herramienta de línea de comando o una expresión está esperada. " +"Además puedes tramarlo con el Visor CWL o `cwltool`:" #: ../../src/topics/operations.md:24 61e4ae6ed18e41708270eb358cd55277 msgid "" @@ -2771,16 +3533,21 @@ msgid "" " The following image is rendered with the Sphinx `{graphviz}` directive " "(this user guide is built with Sphinx):" msgstr "" +"La salida del comando anterior puede ser renderizado con un renderizador " +"Graphviz. La imagen siguiente es renderizada con la directiva Esfinge `" +"{graphviz}` (esta guía de usuario está creada con 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 "" +"El archivo de operación no funcionará con `cwltool` porque `cwltool` carece " +"de la información necesaria para ejecutarlo:" #: ../../src/topics/operations.md:59 e184470550e645f6b9ce658af7e65ecf msgid "`cwltool` does not know how to run operations" -msgstr "" +msgstr "`cwltool` no sabe cómo ejecutar operaciones" #: ../../src/topics/operations.md:67 3b90445d3428444cafd7d5c0e5884980 msgid "" @@ -2788,14 +3555,18 @@ msgid "" " CWL runner could, for instance, use abstract operations with ID's that " "correspond to steps executed by a different workflow engine." msgstr "" +"Los ejecutores CWL pueden idear formas de vincular operaciones a pasos " +"concretos. Un corredor CWL podría, por ejemplo, utilizar operaciones " +"abstractas con ID que correspondan a pasos ejecutados por un motor de flujo " +"de trabajo diferente." #: ../../src/topics/outputs.md:1 35e7bad6fdc04bcf9bbfbb2d8d42cfa5 msgid "Outputs" -msgstr "" +msgstr "Salidas" #: ../../src/topics/outputs.md:3 6d912d40359c4d33a4f08abca83c00be msgid "Returning Output Files" -msgstr "" +msgstr "Devolución de archivos de salida" #: ../../src/topics/outputs.md:5 a6bd3f9e23de488394958fe7b59a61e0 msgid "" @@ -2804,6 +3575,10 @@ msgid "" " of parameter, and `type` describing what types of values are valid for " "that parameter." msgstr "" +"Las \"salidas\" de una herramienta son una lista de parámetros de salida que " +"deben devolverse después de ejecutar la herramienta. Cada parámetro tiene " +"un `id` para el nombre del parámetro, y `type` que describe qué tipos de " +"valores son válidos para ese parámetro." #: ../../src/topics/outputs.md:10 a229d8d983344e51a231edb5f667d84b msgid "" @@ -2813,16 +3588,24 @@ msgid "" "output parameters returned by the CWL tool are either the output files " "themselves, or the result of examining the content of those files." msgstr "" +"Cuando una herramienta se ejecuta bajo CWL, el directorio de trabajo inicial " +"es el directorio de salida designado. La herramienta o script subyacente " +"debe registrar sus resultados en la forma de archivos creados en el " +"directorio de salida. Los parámetros de salida devueltos por la herramienta " +"CWL son los propios archivos de salida, o el resultado de examinar el " +"contenido de esos archivos." #: ../../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 "" +"El siguiente ejemplo demuestra cómo devolver un archivo que ha sido extraído " +"de un archivo tar." #: ../../src/topics/outputs.md:19 0bf1ad2c43174e57a3ba8dd86f7c96b2 msgid "Passing mandatory arguments to the `baseCommand`" -msgstr "" +msgstr "Pasar argumentos obligatorios al `baseCommand`" #: ../../src/topics/outputs.md:21 553d535b023e4d69a888fe5b24bb8c5b msgid "" @@ -2832,24 +3615,32 @@ msgid "" "the array is the command to run, and any subsequent elements are " "mandatory command line arguments" msgstr "" +"En ejemplos anteriores, el `baseCommand` tan sólo era una cadena, con " +"cualquier argumento pasado como entradas de CWL. En lugar de una sola " +"cadena, podemos utilizar una _formación de cadenas_ como el valor de " +"`baseCommand`. El primer elemento de la formación es el comando a ejecutar, " +"y cualquier elemento subsiguiente son argumentos obligatorios de línea de " +"comandos" #: ../../src/topics/outputs.md:28 9b65071222c94951bed12ac53e964ee3 msgid "`tar.cwl`" -msgstr "" +msgstr "`tar.cwl`" #: ../../src/topics/outputs.md:34 759ab0847b97479fb4a15e4b7d4e6565 msgid "`tar-job.yml`" -msgstr "" +msgstr "`tar-job.yml`" #: ../../src/topics/outputs.md:40 f9752ec303ab419c8db8adef3fa2466f msgid "Next, create a tar file for the example." -msgstr "" +msgstr "A continuación, cree un archivo tar para el ejemplo." #: ../../src/topics/outputs.md:47 4f96576528684f28a72b805f777769e6 msgid "" "And now invoke `cwltool` with the tool description and the input object " "on the command line:" msgstr "" +"Y ahora invoca `cwltool` con la descripción de la herramienta y el objeto de " +"entrada en la línea de comandos:" #: ../../src/topics/outputs.md:53 707803bec0cb42919905c7c321bd9d30 msgid "" @@ -2857,6 +3648,9 @@ msgid "" "[`outputBinding`](https://w3id.org/cwl/CommandLineTool.html#CommandOutputBinding)" " describes how to set the value of each output parameter." msgstr "" +"El campo [`outputBinding`](https://w3id.org/cwl/" +"CommandLineTool.html#CommandOutputBinding) describe cómo establecer el valor " +"de cada parámetro de salida." #: ../../src/topics/outputs.md:64 cbaec50871e04718883c8c91ff475d20 msgid "" @@ -2867,10 +3661,15 @@ msgid "" "know the name of the file in advance, you can use a wildcard pattern like" " `glob: '*.txt'`." msgstr "" +"El campo [`glob`](https://w3id.org/cwl/" +"CommandLineTool.html#CommandOutputBinding) consiste en el patrón para " +"coincida con nombres de archivo en el directorio de salida. Esto puede " +"simplemente ser el nombre exacto del archivo. Pero si no sabes el nombre del " +"archivo de antemano, se puede usar un patrón de comodín como `glob: '*.txt'`." #: ../../src/topics/outputs.md:69 8a6e9173198241429effd911c3a7c4d7 msgid "Capturing Standard Output" -msgstr "" +msgstr "Captura de Salida Estándar" #: ../../src/topics/outputs.md:71 a7c4fdaeda3e411fbeb802c5fa529ce9 msgid "" @@ -2879,28 +3678,34 @@ msgid "" "the name of the file where the output stream should go. Then add `type: " "stdout` on the corresponding output parameter." msgstr "" +"Para capturar el flujo de salida estándar de una herramienta, agregue el " +"campo [`stdout`](https://w3id.org/cwl/CommandLineTool.html#stdout) con el " +"nombre del archivo donde iría el flujo de salida. A continuación, añada " +"`tipo: stdout` en el parámetro de salida correspondiente." #: ../../src/topics/outputs.md:75 cf2ef8dc7fda49308c09efe4f4ef5d7b msgid "`stdout.cwl`" -msgstr "" +msgstr "`stdout.cwl`" #: ../../src/topics/outputs.md:93 cbe236266dd148aaa96355e490a87cbe msgid "Array Outputs" -msgstr "" +msgstr "Salidas de formación" #: ../../src/topics/outputs.md:95 77f86a7b94924a08b6ea2660218fe3c5 msgid "" "You can also capture multiple output files into an array of files using " "`glob`." msgstr "" +"También puede capturar varios archivos de salida en una formación de " +"archivos utilizando `glob`." #: ../../src/topics/outputs.md:97 b34e30481fbd489d95fb7f8d5b5ab50c msgid "`array-outputs.cwl`" -msgstr "" +msgstr "`array-outputs.cwl`" #: ../../src/topics/outputs.md:103 3aab0e0c9a78430f9caaa29a93303b56 msgid "`array-outputs-job.yml`" -msgstr "" +msgstr "`array-outputs-job.yml`" #: ../../src/topics/outputs.md:116 9a14271c3180429988aaa14869f783a0 msgid "" @@ -2910,10 +3715,15 @@ msgid "" " to mark entries in arrays, as demonstrated in several of the upcoming " "sections." msgstr "" +"Como se describe en la [Guía YAML](yaml-guide.md#arrays), la formación de " +"salidas esperadas se especifica en `array-outputs-job.yml` con cada entrada " +"marcada por una `-` inicial. Este formato también se puede utilizar en las " +"descripciones CWL para marcar las entradas en las formaciones, como se " +"demuestra en varias de las próximas secciones." #: ../../src/topics/parameter-references.md:1 c8a6ea340e6a43398e97b68e03a8bb3b msgid "Parameter References" -msgstr "" +msgstr "Referencias Paramétricas" #: ../../src/topics/parameter-references.md:3 f5c0592ca28c46c2a89943f4f6f69a27 msgid "" @@ -2927,26 +3737,40 @@ msgid "" "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 "" +"En un ejemplo anterior, extrajimos un archivo utilizando el programa " +"\"tar\". Sin embargo, ese ejemplo era muy limitado porque asumía que el " +"fichero que nos interesaba se llamaba \"hola.txt\", y esto se escribía en el " +"fichero `.cwl`. Esta no es la mejor forma de hacerlo, ya que el nombre del " +"archivo \"hola.txt\" puede variar o depender del archivo o archivos de " +"entrada utilizados. Para evitar esto podemos especificar el nombre del " +"archivo que queremos en el archivo de parámetros del trabajo (`.yml`). En " +"este ejemplo, verás cómo referenciar el valor de los parámetros de entrada " +"dinámicamente desde otros campos, lo que nos permitirá luego especificar el " +"nombre del archivo a extraer." #: ../../src/topics/parameter-references.md:13 50db8add9b1942d986e581b8d21c2ee4 msgid "`tar-param.cwl`" -msgstr "" +msgstr "`tar-param.cwl`" #: ../../src/topics/parameter-references.md:19 d01ad5fd9fea462cab0d4d776824b4e1 msgid "`tar-param-job.yml`" -msgstr "" +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 "" +"Cree sus archivos de entrada e invoque `cwltool` con la descripción de la " +"herramienta y el objeto de entrada en la línea de comandos:" #: ../../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 "" +"Algunos campos permiten referencias a parámetros encerrados en `$(...)`. Se " +"evalúan y sustituyen por el valor al que se hace referencia." #: ../../src/topics/parameter-references.md:47 384fe8188f414eafbbb8d6b81bdfd779 msgid "" @@ -2954,12 +3778,17 @@ msgid "" "example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and " "`$(inputs['extractfile'])` are equivalent." msgstr "" +"Las referencias se escriben utilizando un subconjunto de la sintaxis de " +"Javascript. En este ejemplo, `$(inputs.extractfile)`, `$" +"(inputs[\"extractfile\"])`, y `$(inputs['extractfile'])` son equivalentes." #: ../../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 "" +"El valor de la variable \"inputs\" es el objeto de entrada proporcionado al " +"invocar la herramienta CWL." #: ../../src/topics/parameter-references.md:54 56bca89e314c4223b33d7fe63c9b771d msgid "" @@ -2968,44 +3797,60 @@ msgid "" "reference the path to the tar file in the above example you would write " "`$(inputs.tarfile.path)`." msgstr "" +"Tenga en cuenta que como los parámetros `Fichero` son objetos, para obtener " +"la ruta de un fichero de entrada debe hacer referencia al campo ruta de un " +"objeto fichero; para hacer referencia a la ruta del fichero tar en el " +"ejemplo anterior escribiría `$(entradas.fichero.tar.ruta)`." #: ../../src/topics/parameter-references.md:59 1c1ab240c4114572bb4e42955baad361 msgid "Where are parameter references allowed?" -msgstr "" +msgstr "¿Dónde se permiten las referencias a parámetros?" #: ../../src/topics/parameter-references.md:61 055d3268859c46c4b7db5005608bae05 msgid "You can only use parameter references in certain fields. These are:" msgstr "" +"Sólo puede utilizar referencias a parámetros en determinados campos. Éstos " +"son:" #: ../../src/topics/parameter-references.md:63 2ed66835bd9044adbfdd0b5097787f22 msgid "" "From " "[`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" msgstr "" +"Desde [`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 "" +"Desde [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 "" +"De [`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 "" +"De [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 "" +"Origen [CommandOutputBinding](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#CommandOutputBinding)" #: ../../src/topics/parameter-references.md:81 551c199c9a6344fca9bfacfb69fc4e53 msgid "" @@ -3014,12 +3859,17 @@ msgid "" " and " "[WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" msgstr "" +"Origen [InputParameter](http://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) y [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 "" +"Origen [WorkflowStepInput](http://www.commonwl.org/v1.0/" +"Workflow.html#WorkflowStepInput)" #: ../../src/topics/parameter-references.md:89 45743e1b261c4195856de0c2e30ea72e msgid "" @@ -3028,12 +3878,17 @@ msgid "" " and " "[ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" msgstr "" +"Origen [InputParameter](http://www.commonwl.org/v1.0/" +"Workflow.html#InputParameter) y [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 "" +"Origen [`ResourceRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#ResourceRequirement)" #: ../../src/topics/parameter-references.md:101 #: 7e1907ff15c74f488187531de336eccf @@ -3041,11 +3896,13 @@ msgid "" "From " "[`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" msgstr "" +"Origen [`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 "" +msgstr "en [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" #: ../../src/topics/parameter-references.md:107 #: e2882880886046ac88ae1c0d414366d1 @@ -3053,16 +3910,18 @@ msgid "" "From " "[EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" msgstr "" +"Origen [EnvironmentDef](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#EnvironmentDef)" #: ../../src/topics/requirements-and-hints.md:5 #: 05324169d8ae48d4a1abe3a0ac07c891 msgid "Requirements and Hints" -msgstr "" +msgstr "Requisitos y Consejos" #: ../../src/topics/specifying-software-requirements.md:1 #: 1f5b72d7ec82442ba29baa14a03f061b msgid "Specifying Software Requirements" -msgstr "" +msgstr "Especificación de Requisitos del Software" #: ../../src/topics/specifying-software-requirements.md:3 #: e708866921ea49d69d3c2a32d63ea468 @@ -3074,6 +3933,12 @@ msgid "" " field in the `hints` section. This may also help to avoid confusion " "about which version of a tool the description was written for." msgstr "" +"A menudo, las descripciones de herramientas se escribirán para una versión " +"específica de un software. Para facilitar que otros utilicen sus " +"descripciones, puede incluir un campo [`SoftwareRequirement`](https://" +"w3id.org/cwl/CommandLineTool.html#SoftwareRequirement) en la sección " +"`hints`. Esto también puede ayudar a evitar confusión acerca de qué versión " +"de una herramienta se escribió la descripción." #: ../../src/topics/specifying-software-requirements.md:13 #: 6f722d6fd54f485fa964076c8d08938b @@ -3081,6 +3946,8 @@ msgid "" "In this example, the software requirement being described is InterProScan" " version 5.21-60." msgstr "" +"En este ejemplo, el requisito de software que se describe es InterProScan " +"versión 5.21-60." #: ../../src/topics/specifying-software-requirements.md:25 #: 5c1236ec57c64079bfb7c779524b12ad @@ -3090,6 +3957,11 @@ msgid "" "enable these checks with the reference implementation, use the " "[dependency resolvers configuration][dependencies]." msgstr "" +"Dependiendo de su ejecutor CWL, estas sugerencias se pueden utilizar para " +"comprobar que el software necesario está instalado y disponible antes de " +"ejecutar el trabajo. Para activar estas comprobaciones con la implementación " +"de referencia, utilice la [configuración de dependencias de " +"resolvedores][dependencias]." #: ../../src/topics/specifying-software-requirements.md:29 #: 1a8b8aadf1c64e87b8b670e288bc14bc @@ -3108,10 +3980,24 @@ msgid "" "preference, are to include the DOI for the main tool citation and the URL" " to the tool." msgstr "" +"Además de un número de versión, un identificador de recursos único (URI) " +"para la herramienta se da en forma de un [RRID][rrid]. Los recursos con RRID " +"se pueden buscar en el registro [SciCrunch][scicrunch], que proporciona un " +"portal para encontrar, rastrear y referirse a los recursos científicos " +"consistentemente. Si desea especificar una herramienta como un " +"[`SoftwareRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#SoftwareRequirement), busque la herramienta en " +"SciCrunch y utilice el RRID que se le ha asignado en el registro. (Sigan " +"esto [Añadiendo un Tutorial de Recursos][scicrunch-add-tool] para añadir una " +"herramienta a SciCrunch). Puede utilizar este RRID para referirse a la " +"herramienta (a través de [identifiers.org][identificadores]) en el campo " +"`specs` de su descripción del requisito. Otras buenas opciones, en orden de " +"preferencia, son incluir el DOI para la cita principal de la herramienta y " +"la URL a la herramienta." #: ../../src/topics/staging-input-files.md:1 d10c792550e8498c8ee384d3093da306 msgid "Staging Input Files" -msgstr "" +msgstr "Puesta en escena de archivos de entrada" #: ../../src/topics/staging-input-files.md:3 ac2ef1fced5f4044861761a11c35e78a msgid "" @@ -3124,14 +4010,23 @@ msgid "" "a JavaScript expression to extract the base name of the input file from " "its leading directory path." msgstr "" +"Normalmente, los archivos de entrada se encuentran en un directorio solo " +"lectura separado del directorio de salida. Esto causa problemas si la " +"herramienta subyacente espera escribir sus archivos de salida junto con el " +"archivo de entrada en el mismo directorio. Usted utiliza " +"[`InitialWorkDirRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#InitialWorkDirRequirement) para montar archivos de " +"entrada en el directorio de salida. En este ejemplo, utilizamos una " +"expresión JavaScript para extraer el nombre base del archivo de entrada de " +"su ruta de directorio principal." #: ../../src/topics/staging-input-files.md:9 d8ca16f5321e486ebe8ea9f9752b3737 msgid "`linkfile.cwl`" -msgstr "" +msgstr "`linkfile.cwl`" #: ../../src/topics/troubleshooting.md:1 aa3eddcaa0684f86ba67aafcd57872e7 msgid "Troubleshooting" -msgstr "" +msgstr "Solución de problemas" #: ../../src/topics/troubleshooting.md:3 3207f476afa04158bd26db39a16a2df5 msgid "" @@ -3139,10 +4034,13 @@ msgid "" " executing CWL. We focus on `cwltool` here but some of these techniques " "may apply to other CWL Runners." msgstr "" +"En esta sección encontrarás maneras de solucionar problemas cuando tengas " +"problemas ejecutando CWL. Nos centramos en `cwltool` aquí pero algunas de " +"estas técnicas pueden aplicarse a otros CWL Runners." #: ../../src/topics/troubleshooting.md:6 1d47f4ce04554cabb1ccf40a13ee42ec msgid "Run `cwltool` with `cachedir`" -msgstr "" +msgstr "Ejecuta `cwltool` con `cachedir`" #: ../../src/topics/troubleshooting.md:8 0c25602a83e441b48b536eb49568f2b6 msgid "" @@ -3152,8 +4050,15 @@ msgid "" "these files are created in a temporary directory but writing them to a " "separate directory makes accessing them easier." msgstr "" +"Puede utilizar la opción `--cachedir` cuando ejecute un flujo de trabajo " +"para indicar a `cwltool` que almacene en caché los archivos intermedios " +"(archivos que no son de entrada ni de salida, pero que se crean mientras se " +"ejecuta en flujo de trabajo). Por defecto, estos archivos se crean en un " +"directorio temporal, pero escribirlos en un directorio separado facilita el " +"acceso a ellos." #: ../../src/topics/troubleshooting.md:14 36ec60b80c714357a4274217274136ff +#, fuzzy msgid "" "In the following example `troubleshooting-wf1.cwl` we have two steps, " "`step_a` and `step_b`. The workflow is equivalent to `echo \"Hello " @@ -3162,35 +4067,56 @@ msgid "" " where instead of executing the `rev` command it tries to execute `revv`," " which fails." msgstr "" +"En el siguiente ejemplo `troubleshooting-wf1.cwl` tenemos dos pasos, " +"`step_a` y `step_b`. El flujo de trabajo es equivalente a `echo \"Hello " +"World\" | rev`, que imprimiría el mensaje \"Hello World\" al revés, es " +"decir, \"dlroW olleH\". Sin embargo, el segundo paso, `step_b`, **tiene un " +"error tipográfico**, donde en lugar de ejecutar el comando `rev` intenta " +"ejecutar `revv`, lo cual falla." #: ../../src/topics/troubleshooting.md:20 6f34038054ac4f4fa0b0ad9cbc3ecdc7 msgid "`troubleshooting-wf1.cwl`" -msgstr "" +msgstr "`troubleshooting-wf1.cwl`" #: ../../src/topics/troubleshooting.md:27 b777877c88024c9fb06a6614029ef8d6 +#, fuzzy 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 "" +"Vamos a ejecutar este flujo de trabajo con `/tmp/cachedir/` como valor de `--" +"cachedir` (`cwltool` creará el directorio por ti si no existe ya):" #: ../../src/topics/troubleshooting.md:35 8654b7f2f4464d13be4b47729e1f07e5 +#, fuzzy 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 "" +"El flujo de trabajo se encuentra en estado `permanentFail` debido a que " +"`step_b` ha fallado al ejecutar el comando `revv` inexistente. El paso " +"`step_a` fue ejecutado con éxito y su salida ha sido almacenada en caché en " +"su ubicación `cachedir`. Puedes inspeccionar los ficheros intermedios " +"creados:" #: ../../src/topics/troubleshooting.md:44 04e80f7ce14d4d73bc5d290dcf01bcdb +#, fuzzy 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 "" +"Cada paso del flujo de trabajo ha recibido un ID único (el valor largo que " +"parece un hash). Los archivos `${HASH}.status` muestran el estado de cada " +"paso ejecutado por el flujo de trabajo. Y el archivo de salida `step_a` " +"`stdout.txt` es visible en la salida del comando anterior." #: ../../src/topics/troubleshooting.md:48 719917cb0fd849f5a328671df8726189 +#, fuzzy 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" @@ -3199,8 +4125,15 @@ msgid "" "new cache entry for the output of `step_b`. Also note that the status of " "`step_b` is now of success." msgstr "" +"Ahora corrige la errata para que `step_b` ejecute `rev` (es decir, sustituye " +"`revv` por `rev` en el `step_b`). Después de corregir la errata, cuando " +"ejecutes `cwltool` con los mismos argumentos que la vez anterior, observa " +"que ahora la salida de `cwltool` contiene información sobre las salidas pre-" +"almacenadas para `step_a`, y sobre una nueva entrada de caché para la salida " +"de `step_b`. Observa también que el estado de `step_b` es ahora de éxito." #: ../../src/topics/troubleshooting.md:59 2a9dbb3ad7564f5aa103349c45ee7925 +#, fuzzy 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. " @@ -3209,16 +4142,23 @@ msgid "" " troubleshooting your CWL documents and also as a way to prevent " "`cwltool` to re-evaluate steps unnecessarily." msgstr "" +"En este ejemplo, el paso `step_a` del flujo de trabajo no se volvió a " +"evaluar, ya que se había almacenado en caché, y no hubo ningún cambio en su " +"ejecución o salida. Además, `cwltool` fue capaz de reconocer cuándo tenía " +"que reevaluar `step_b` después de que arregláramos el nombre del ejecutable. " +"Esta técnica es útil para solucionar problemas en tus documentos CWL y " +"también para evitar que `cwltool` reevalúe pasos innecesariamente." #: ../../src/topics/using-containers.md:1 7439fe097aa4459ba1e4c0e28fc59b9a msgid "Using Containers" -msgstr "" +msgstr "Uso de contenedores" #: ../../src/topics/using-containers.md:3 eff5c6ac1cad44f9862585daf0a91298 msgid "Running Tools Inside Docker" -msgstr "" +msgstr "Ejecución de herramientas interna a Docker" #: ../../src/topics/using-containers.md:5 50d1a644bc8c49f78c453e4e0f3c07c8 +#, fuzzy msgid "" "[Docker][docker] containers simplify software installation by providing a" " complete known-good runtime for software and its dependencies. However," @@ -3230,29 +4170,47 @@ msgid "" " management while avoiding the complexity of invoking and managing Docker" " containers." msgstr "" +"Los contenedores [Docker][docker] simplifican la instalación de software al " +"proporcionar un tiempo de ejecución completo y conocido para el software y " +"sus dependencias. Sin embargo, los contenedores también están aislados a " +"propósito del sistema anfitrión, por lo que para ejecutar una herramienta " +"dentro de un contenedor Docker hay un trabajo adicional para garantizar que " +"los archivos de entrada estén disponibles dentro del contenedor y que los " +"archivos de salida se puedan recuperar del contenedor. Un corredor CWL " +"puede realizar este trabajo de forma automática, lo que le permite utilizar " +"Docker para simplificar la gestión de su software evitando la complejidad de " +"invocar y gestionar contenedores Docker." #: ../../src/topics/using-containers.md:15 4b0f6cfc8a774c77bfbc99e568af2ece +#, fuzzy 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 "" +"Una de las responsabilidades del ejecutor CWL es ajustar las rutas de los " +"archivos de entrada para reflejar la ubicación en la que aparecen dentro del " +"contenedor." #: ../../src/topics/using-containers.md:18 27c02a5d479a420eab7d14888d9fb288 +#, fuzzy msgid "" "This example runs a simple Node.js script inside a Docker container which" " will then print \"Hello World\" to the standard output." msgstr "" +"Este ejemplo ejecuta un simple script Node.js dentro de un contenedor Docker " +"que luego imprimirá \"Hola Mundo\" en la salida estándar." #: ../../src/topics/using-containers.md:21 1a62a93ab20b4f2ca1e13ded3a767dc5 msgid "`docker.cwl`" -msgstr "" +msgstr "`docker.cwl`" #: ../../src/topics/using-containers.md:27 ccc2874840c3476bb714ddf4bdbf0f3e msgid "`docker-job.yml`" -msgstr "" +msgstr "`docker-job.yml`" #: ../../src/topics/using-containers.md:33 d766b66de4714a5da0cd87ed886cc32f +#, fuzzy 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 " @@ -3260,8 +4218,13 @@ msgid "" "[`dockerRequirement`](https://w3id.org/cwl/CommandLineTool.html#DockerRequirement)" " section." msgstr "" +"Antes de correr esto, vamos a romperlo y ver qué hacen algunos pedazos. La " +"mayoría de esto se ha explicado en secciones anteriores, la única parte que " +"es realmente nueva es la sección [`dockerRequirement`](https://w3id.org/cwl/" +"CommandLineTool.html#DockerRequirement)." #: ../../src/topics/using-containers.md:44 1f02618ab6254459ae71f72844e3cc18 +#, fuzzy 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 " @@ -3273,34 +4236,55 @@ msgid "" "best practices when using containers for reproducible research). In this " "case we have used a container called `node:slim`." msgstr "" +"`baseCommand: node` le dice a CWL que vamos a ejecutar este comando usando " +"el tiempo de ejecución Node Js que está pensado para archivos Javascript. A " +"continuación, tenemos que especificar algunos `hints` para encontrar el " +"contenedor que queremos. En este caso listamos sólo nuestros requisitos " +"para el contenedor docker en `DockerRequirements`. El parámetro " +"`dockerPull:` toma el mismo valor que pasarías a un comando `docker pull`. " +"Es decir, el nombre de la imagen del contenedor (incluso puedes especificar " +"la etiqueta, que es una buena idea para las mejores prácticas cuando se " +"utilizan contenedores para la investigación reproducible). En este caso " +"hemos utilizado un contenedor llamado `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 "" +"Cree un archivo JavaScript llamado \"hello.js\" e invoque `cwltool` " +"proporcionando la descripción de la herramienta y el objeto de entrada en la " +"línea de comandos:" #: ../../src/topics/using-containers.md:55 6541d0cd9f6c4c43b8601715cc35e585 msgid "`hello.js`" -msgstr "" +msgstr "`hello.js`" #: ../../src/topics/using-containers.md:69 6abf220b7fa4479394ed33447cdd070e +#, fuzzy msgid "" "Notice the CWL runner has constructed a Docker command line to run the " "script." msgstr "" +"Observa que el ejecutor CWL ha construido una línea de comandos Docker para " +"ejecutar el script." #: ../../src/topics/using-containers.md:72 d2dd89a5edde4f2eab4c2baf0cc78745 +#, fuzzy 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 "" +"En este ejemplo, la ruta al script `hello.js` es `/home/me/cwl/user_guide/" +"hello.js` fuera del contenedor pero `/var/lib/cwl/job369354770_examples/" +"hello.js` dentro del contenedor, como se refleja en la invocación del " +"comando `node`." #: ../../src/topics/workflows.md:1 06281a10592d42509566c8fc51f8d4da msgid "Workflows" -msgstr "" +msgstr "Flujos de trabajo" #: ../../src/topics/workflows.md:3 325a656f9b8e4c1fa6f699cd8c447d00 msgid "" @@ -3308,40 +4292,59 @@ msgid "" "expression tools, or workflows (sub-workflows) as steps. It must have " "`inputs`, `outputs`, and `steps` defined in the CWL document." msgstr "" +"Un flujo de trabajo es una unidad de procesamiento CWL que ejecuta " +"herramientas de línea de comandos, herramientas de expresión o flujos de " +"trabajo (sub‐flujos de trabajo) como pasos. Debe tener entradas (`input`), " +"salidas (`output`) y pasos (`step`) definidos en el documento CWL." #: ../../src/topics/workflows.md:13 b92275181c9e480da64e660b7aca0745 msgid "CWL workflow." -msgstr "" +msgstr "Flujo de trabajo CWL." #: ../../src/topics/workflows.md:41 be2540315f854b8e9a1d257bcabd78db +#, fuzzy 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 "" +"El documento CWL `echo-uppercase.cwl` define un flujo de trabajo que ejecuta " +"la herramienta de línea de comandos, y la herramienta de expresión mostrada " +"en los ejemplos anteriores." #: ../../src/topics/workflows.md:51 3be900594bb743399854b95baa9ae2f9 msgid "`echo-uppercase.cwl`" -msgstr "" +msgstr "`echo-uppercase.cwl`" #: ../../src/topics/workflows.md:81 5133c4e062bc4e479ce1dc8abbb08107 +#, fuzzy 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 "" +"Una herramienta de línea de comandos o de expresión también puede escribirse " +"directamente en el mismo documento CWL que el flujo de trabajo. Por ejemplo, " +"podemos reescribir el flujo de trabajo `echo-uppercase.cwl` como un único " +"archivo:" #: ../../src/topics/workflows.md:91 83bc2796889f4dccb713764ac1b3c3ad msgid "`echo-uppercase-single-file.cwl`" -msgstr "" +msgstr "`echo-uppercase-single-file.cwl`" #: ../../src/topics/workflows.md:150 5a9a1dd6ed1f4ca6803f1d235c4fd392 +#, fuzzy 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 "" +"Tener archivos separados ayuda con la modularidad y la organización del " +"código. Pero puede ser útil escribir todo en un único fichero para el " +"desarrollo. Hay otras maneras de combinar varios archivos en un solo archivo " +"(por ejemplo, `cwltool --pack`) discutido más a fondo en otras secciones de " +"esta guía del usuario." #: ../../src/topics/workflows.md:160 277ed30d4b3a4156a4523e8d10e6ce60 msgid "" @@ -3349,27 +4352,33 @@ msgid "" "`SubworkflowFeatureRequirement`. It is covered in another section of this" " user guide in more detail." msgstr "" +"Para un sub‐flujo de trabajo es necesario activar el requisito " +"`SubworkflowFeatureRequirement`. Se trata en otra sección de esta guía de " +"usuario con más detalle." #: ../../src/topics/workflows.md:165 82818ab17aa4403eb982fd81a14a5865 msgid "Writing Workflows" -msgstr "" +msgstr "Escribir flujos de trabajo" #: ../../src/topics/workflows.md:167 3d8b98e8d03548699fadb22198de9b20 msgid "" "This workflow extracts a java source file from a tar file and then " "compiles it." msgstr "" +"Este flujo de trabajo extrae un archivo fuente en java de un archivo tar y " +"luego lo compila." #: ../../src/topics/workflows.md:170 c61097c695424f7195e8205a23b6ecff msgid "`1st-workflow.cwl`" -msgstr "" +msgstr "`1er-flujo-de-trabajo.cwl`" #: ../../src/topics/workflows.md:179 ../../src/topics/workflows.md:180 #: 6660c48f51d94d4fbcc05656e154059e bd2bab6c11614fa983ca8dab1408e1d8 msgid "Visualization of 1st-workflow.cwl" -msgstr "" +msgstr "Visualización de 1er-flujo-de-trabajo.cwl" #: ../../src/topics/workflows.md:180 f0831481a43548039fbc4fd17555af57 +#, fuzzy msgid "" "[![Visualization of 1st-" "workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-" @@ -3381,26 +4390,37 @@ msgid "" "language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21" "-1st-workflow/1st-workflow.cwl)" msgstr "" +"[![Visualización del 1er flujo de trabajo.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 +#, fuzzy msgid "" "Use a YAML or a JSON object in a separate file to describe the input of a" " run:" msgstr "" +"Utilice un objeto YAML o JSON en un archivo independiente para describir la " +"entrada de una ejecución:" #: ../../src/topics/workflows.md:185 822e5d0a097b4109960d621a72a3c009 msgid "`1st-workflow-job.yml`" -msgstr "" +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 "" +"A continuación, cree una muestra de archivo Java y añádalo a un archivo tar " +"para utilizarlo con la herramienta de línea de comandos." #: ../../src/topics/workflows.md:205 ed16b30eaa4747f79b6dd10a19188d8c msgid "What's going on here? Let's break it down:" -msgstr "" +msgstr "¿Qué ocurre aquí? Desglosémoslo:" #: ../../src/topics/workflows.md:212 6428bd7bd3be4393bfe5675f8e45ff94 msgid "" @@ -3408,16 +4428,25 @@ msgid "" "document. The `class` field indicates this document describes a " "workflow." msgstr "" +"El campo `cwlVersion` indica la versión de la especificación CWL utilizada " +"por el documento. El campo `class` indica que este documento describe un " +"flujo de trabajo." #: ../../src/topics/workflows.md:221 d6abec8805f649fca668292412263f78 +#, fuzzy 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 "" +"La sección `entradas` describe las entradas del flujo de trabajo. Se trata " +"de una lista de parámetros de entrada en la que cada parámetro consta de un " +"identificador y un tipo de datos. Estos parámetros pueden utilizarse como " +"fuentes de entrada para pasos específicos del flujo de trabajo." #: ../../src/topics/workflows.md:233 22bf3e4910ef4f86a2e8f6d5a6cf0d42 +#, fuzzy msgid "" "The `outputs` section describes the outputs of the workflow. This is a " "list of output parameters where each parameter consists of an identifier " @@ -3425,8 +4454,14 @@ msgid "" "`classfile` of the `compile` step to the workflow output parameter " "`compiled_class`." msgstr "" +"La sección \"salidas\" describe las salidas del flujo de trabajo. Se trata " +"de una lista de parámetros de salida donde cada parámetro consta de un " +"identificador y un tipo de datos. El `outputSource` conecta el parámetro de " +"salida `classfile` del paso `compile` con el parámetro de salida del flujo " +"de trabajo `compiled_class`." #: ../../src/topics/workflows.md:248 e0429688fce445da8083e69323e5b020 +#, fuzzy 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 " @@ -3436,16 +4471,29 @@ msgid "" "`source`). In addition, workflow steps which do not depend on one " "another may run in parallel." msgstr "" +"La sección `pasos` describe los pasos reales del flujo de trabajo. En este " +"ejemplo, el primer paso extrae un fichero de un archivo tar, y el segundo " +"paso compila el fichero del primer paso usando el compilador java. Los pasos " +"del flujo de trabajo no se ejecutan necesariamente en el orden en que se " +"enumeran, sino que el orden viene determinado por las dependencias entre los " +"pasos (utilizando `source`). Además, los pasos del flujo de trabajo que no " +"dependen unos de otros pueden ejecutarse en paralelo." #: ../../src/topics/workflows.md:256 980f5eada57c4fadbb783838ded1fa0b +#, fuzzy 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 "" +"El primer paso, `untar` ejecuta `tar-param.cwl` (descrito previamente en " +"[Parameter References](parameter-references.md)). Esta herramienta tiene dos " +"parámetros de entrada, `tarfile` y `extractfile` y un parámetro de salida " +"`extracted_file`." #: ../../src/topics/workflows.md:261 3532e165842f4ebb8db0c78208071555 +#, fuzzy msgid "" "The ``in`` section of the workflow step connects these two input " "parameters to the inputs of the workflow, `tarball` and " @@ -3454,12 +4502,21 @@ msgid "" "`name_of_file_to_extract` will be used for the parameters `tarfile` and " "`extractfile` in order to run the tool." msgstr "" +"La sección ``in`` del paso de flujo de trabajo conecta estos dos parámetros " +"de entrada a las entradas del flujo de trabajo, `tarball` y " +"`name_of_file_to_extract` utilizando `source`. Esto significa que cuando el " +"paso de flujo de trabajo se ejecuta, los valores asignados a `tarball` y " +"`name_of_file_to_extract` se utilizarán para los parámetros `tarfile` y " +"`extractfile` para ejecutar la herramienta." #: ../../src/topics/workflows.md:267 04a4db2f3da94ce29e7999039ee13fde +#, fuzzy msgid "" "The `out` section of the workflow step lists the output parameters that " "are expected from the tool." msgstr "" +"La sección `out` del paso del flujo de trabajo enumera los parámetros de " +"salida que se esperan de la herramienta." #: ../../src/topics/workflows.md:278 2651ee113a3d4b79b138854ebe729f48 msgid "" @@ -3470,28 +4527,42 @@ msgid "" "and-parameters.md)). The output of this step `classfile` is connected to " "the `outputs` section for the Workflow, described above." msgstr "" +"El segundo paso `compile` depende de los resultados del primer paso " +"conectando el parámetro de entrada `src` al parámetro de salida de `untar` " +"mediante `untar/extracted_file`. Ejecuta `arguments.cwl` (descrito " +"previamente en [Argumentos y Parámetros Adicionales](additional-arguments-" +"and-parameters.md)). La salida de este paso `classfile` se conecta a la " +"sección `outputs` para el Flujo de Trabajo, descrito anteriormente." #: ../../src/topics/workflows.md:285 177040bf9c0045f2878f42bcdd8cbd2d msgid "Nested Workflows" -msgstr "" +msgstr "Flujos de trabajo anidados" #: ../../src/topics/workflows.md:287 e8adc2f7c5ac4464b0711712617b8bbe +#, fuzzy 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 "" +"Los flujos de trabajo son formas de combinar varias herramientas para " +"realizar operaciones de mayor envergadura. También podemos pensar en un " +"flujo de trabajo como una herramienta en sí misma; un flujo de trabajo CWL " +"se puede utilizar como un paso en otro flujo de trabajo CWL, si el motor de " +"flujo de trabajo soporta el `SubworkflowFeatureRequirement`:" #: ../../src/topics/workflows.md:297 44d281d99cd944478db98446a984c001 msgid "" "Here's an example workflow that uses our `1st-workflow.cwl` as a nested " "workflow:" msgstr "" +"He aquí un flujo de trabajo de ejemplo que utiliza nuestro `1st-" +"workflow.cwl` como un flujo de trabajo anidado:" #: ../../src/topics/workflows.md:300 d7b60ce81ea741ffa08f2c2d9d7cca69 msgid "`nestedworkflows.cwl`" -msgstr "" +msgstr "`nestedworkflows.cwl`" #: ../../src/topics/workflows.md:309 a5b7a1ab16e34bda8744ffadacdda3e8 msgid "" @@ -3500,6 +4571,10 @@ msgid "" " diagrammed on the right. In purple we see the fixed string " "`\"Hello.java\"` being supplied as the `name_of_file_to_extract`." msgstr "" +"Este flujo de trabajo en dos pasos comienza con el paso `crear‐tar` que está " +"conectado al paso `compilar` en naranja; `compilar` es otro flujo de " +"trabajo, haciendo un diagrama a la derecha. En morado vemos la cadena fija " +"`\"Hello.java\"` siendo suministrada como `nombre_del_archivo_a_extraer`." #: ../../src/topics/workflows.md:314 8654f2d86b644609aaa5b9b73db30bda msgid "" @@ -3514,6 +4589,16 @@ msgid "" "/common-workflow-language/user_guide/blob/main/_includes/cwl/workflows" "/1st-workflow.cwl\" alt=\"Visualization of 1st-workflow.cwl\" />" msgstr "" +"" +" \"Visualization" #: ../../src/topics/workflows.md:322 7ce847ab54224452b6425de2a55ec893 msgid "" @@ -3522,8 +4607,14 @@ msgid "" "`name_of_file_to_extract`) and outputs (`compiled_class`) then can be " "mapped to become the step's input/outputs." msgstr "" +"Un CWL `Workflow` se puede utilizar como un paso, `step`, al igual que un " +"`CommandLineTool`, su archivo CWL se incluye con `run`. Las entradas del " +"flujo de trabajo (`tarball` y `name_of_file_to_extract`) y las salidas " +"(`compiled_class`) pueden ser mapeadas para convertirse en las entradas/" +"salidas del paso." #: ../../src/topics/workflows.md:336 d621821d2c1b403cb7415b381dd883f6 +#, fuzzy 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 " @@ -3531,6 +4622,12 @@ msgid "" " reused in multiple parent workflows, or even in multiple steps within " "the same workflow." msgstr "" +"Nuestro `1st-workflow.cwl` fue parametrizado con entradas de flujo de " +"trabajo, por lo que al ejecutarlo tuvimos que proporcionar un archivo de " +"trabajo para denotar el archivo tar y el nombre de archivo `*.java`. Esto es " +"generalmente la mejor práctica, ya que significa que puede ser reutilizado " +"en múltiples flujos de trabajo, o incluso en múltiples pasos dentro del " +"mismo flujo de trabajo." #: ../../src/topics/workflows.md:341 358c612f175241f7bf148a04d75e00c9 msgid "" @@ -3541,14 +4638,26 @@ msgid "" "have more specific input/output names, as those also appear in its usage " "as a tool." msgstr "" +"Aquí usamos `default:` para codificar `\"Hello.java\"` como el " +"`nombre_del_archivo_a_extraer` de entrada, sin embargo nuestro flujo de " +"trabajo también requiere un archivo tar en `tarball`, que prepararemos en el " +"paso `create-tar`. En este punto es probablemente una buena idea " +"refactorizar `1st-workflow.cwl` para tener nombres de entrada/salida más " +"específicos, ya que estos también aparecen en su uso como herramienta." #: ../../src/topics/workflows.md:347 c6297c120e004ae8b52d5b519fbc04d2 +#, fuzzy 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 "" +"También es posible hacer un enfoque menos genérico y evitar dependencias " +"externas en el archivo de trabajo. Así que en este flujo de trabajo podemos " +"generar un archivo hard-coded `Hello.java` utilizando el requisito " +"anteriormente mencionado `InitialWorkDirRequirement`, antes de añadirlo a un " +"archivo tar." #: ../../src/topics/workflows.md:366 66f76677f4ce42baa8a8813410ea5aee msgid "" @@ -3556,6 +4665,10 @@ msgid "" "parameterized, so we can use hardcoded values `hello.tar` and " "`Hello.java` in a `baseCommand` and the resulting `outputs`:" msgstr "" +"En este caso nuestro paso puede asumir `Hello.java` en lugar de ser " +"parametrizado, por lo que podemos utilizar valores codificados de forma fija " +"`hello.tar` y `Hello.java` en un `baseCommand` y las salidas `outputs` " +"resultantes:" #: ../../src/topics/workflows.md:383 a8ccb9f9ab4448e087ea8448d620d33c msgid "" @@ -3565,6 +4678,12 @@ msgid "" "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 "" +"¿Se ha dado cuenta que no hemos separado la herramienta `tar --create` en un " +"archivo aparte, sino que la hemos incrustado en el archivo de flujo de " +"trabajo CWL? Por lo general, ésta no es la mejor práctica, ya que la " +"herramienta no puede reutilizarse. La razón para hacerlo en este caso es que " +"la línea de comandos está codificada con nombres de archivo que sólo tienen " +"sentido dentro de este flujo de trabajo." #: ../../src/topics/workflows.md:389 afe43b9e92e949a589f493293eff2903 msgid "" @@ -3574,6 +4693,11 @@ msgid "" "to compile, which would simplify its usage as a tool step in other " "workflows." msgstr "" +"En este ejemplo tuvimos que preparar un archivo tar fuera, pero sólo porque " +"nuestro flujo de trabajo interno fue diseñado para tomar eso como entrada. " +"Una mejor refactorización del flujo de trabajo interno sería tomar una lista " +"de archivos Java para compilar, lo que simplificaría su uso como un paso de " +"herramienta en otros flujos de trabajo." #: ../../src/topics/workflows.md:394 239eef3a740d42a69208a8f4e716d2b3 msgid "" @@ -3582,10 +4706,14 @@ msgid "" " Tool description, care must be taken to improve its usability in " "multiple workflows." msgstr "" +"Los flujos de trabajo anidados pueden ser una característica poderosa para " +"generar unidades de flujo de trabajo funcionales y reutilizables de nivel " +"superior - pero al igual que para crear una descripción de CWL Tool, se debe " +"tener cuidado para mejorar su usabilidad en múltiples flujos de trabajo." #: ../../src/topics/workflows.md:398 96d1ca78cc324f40b61c4b7330447db2 msgid "Scattering Steps" -msgstr "" +msgstr "Pasos de dispersión" #: ../../src/topics/workflows.md:400 eab4437bf9994b649954221375e3dd6d msgid "" @@ -3597,38 +4725,63 @@ msgid "" "allows you to run the same workflow on multiple inputs without having to " "generate many different commands or input yaml files." msgstr "" +"Ahora que sabemos cómo escribir flujos de trabajo, podemos empezar a " +"utilizar el `ScatterFeatureRequirement`. Esta característica indica al " +"ejecutor que desea ejecutar una herramienta o flujo de trabajo varias veces " +"sobre una lista de entradas. El flujo de trabajo toma las entradas como una " +"formación y ejecuta los pasos especificados en cada elemento de la formación " +"como si fuera una sola entrada. Esto le permite ejecutar el mismo flujo de " +"trabajo en múltiples entradas sin tener que generar muchos comandos " +"diferentes o archivos yaml de entrada." #: ../../src/topics/workflows.md:411 c245ba0ae2074fa388ad6c35695033c8 +#, fuzzy 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 "" +"La razón más común por la que un nuevo usuario puede querer utilizar la " +"dispersión es para realizar el mismo análisis en diferentes muestras. " +"Comencemos con un simple flujo de trabajo que llama a nuestro primer ejemplo " +"(`hello_world.cwl`) y toma un array de cadenas como entrada al flujo de " +"trabajo:" #: ../../src/topics/workflows.md:415 83537938ce1244709f9b72269b048d63 msgid "`scatter-workflow.cwl`" -msgstr "" +msgstr "`scatter-workflow.cwl`" #: ../../src/topics/workflows.md:421 4f507925766e48ae8f713d56051a5e29 +#, fuzzy msgid "" "Aside from the `requirements` section including " "`ScatterFeatureRequirement`, what is going on here?" msgstr "" +"Aparte de que la sección `requirements` incluye `ScatterFeatureRequirement`, " +"¿qué ocurre aquí?" #: ../../src/topics/workflows.md:429 ccbbba3189404241a44736c970249b84 msgid "" "First of all, notice that the main workflow level input here requires an " "array of strings." msgstr "" +"En primer lugar, tenga en cuenta que la entrada principal del flujo de " +"trabajo requiere una formación de cadenas." #: ../../src/topics/workflows.md:441 31eff13bb8334fc7b6d48ef6c5b1ce33 +#, fuzzy 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 "" +"Aquí hemos añadido un nuevo campo al paso `echo` llamado `scatter`. Este " +"campo indica al ejecutor que nos gustaría dispersar esta entrada para este " +"paso en particular. Tenga en cuenta que el nombre de la entrada que aparece " +"después de la dispersión es el de la entrada del paso, no una entrada de " +"nivel de flujo de trabajo." #: ../../src/topics/workflows.md:445 0d5cf8b82dbd47f2abd1ed16b9b3eb61 msgid "" @@ -3637,14 +4790,19 @@ msgid "" "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 "" +"Para nuestra primera dispersión, ¡así de sencillo! Dado que nuestra " +"herramienta no recoge ninguna salida, seguimos utilizando `outputs: []` en " +"nuestro flujo de trabajo, pero si espera que la salida final de su flujo de " +"trabajo tenga ahora múltiples salidas que recoger, ¡asegúrese de " +"actualizarlo también a un tipo array!" #: ../../src/topics/workflows.md:450 38b7042a270043ba82c11cf2e758f0c8 msgid "Using the following input file:" -msgstr "" +msgstr "Utilizando el siguiente archivo de entrada:" #: ../../src/topics/workflows.md:452 b3fc75c262fe4a3a8e8bfba1abb07b3d msgid "`scatter-job.yml`" -msgstr "" +msgstr "`scatter-job.yml`" #: ../../src/topics/workflows.md:458 f9fa7046c89c417db51dc7c8a026fd5d msgid "" @@ -3652,6 +4810,9 @@ msgid "" " calls the command `echo` on a message. If we invoke `cwltool scatter-" "workflow.cwl scatter-job.yml` on the command line:" msgstr "" +"Como recordatorio, [`hello_world.cwl`](../introduction/quick-start.md) " +"simplemente invoca al comando `echo` sobre un mensaje. Si invocamos `cwltool " +"scatter-workflow.cwl scatter-job.yml` en la línea de comandos:" #: ../../src/topics/workflows.md:466 b6a33410ee9a45d7bf7b2ba56f786f8f msgid "" @@ -3659,38 +4820,49 @@ msgid "" "of our `message_array`. Ok, so how about if we want to scatter over two " "steps in a workflow?" msgstr "" +"Puedes ver que el flujo de trabajo invoca a echo múltiples veces en cada " +"elemento de nuestro `message_array`. Bien, ¿y si queremos dispersar dos " +"pasos en un flujo de trabajo?" #: ../../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 "" +"Realicemos un simple eco como el anterior, pero capturando `stdout` " +"añadiendo las siguientes líneas en lugar de `outputs: []`" #: ../../src/topics/workflows.md:472 97bf58937d3f4e98af702e3c1a418992 msgid "`hello_world_to_stdout.cwl`" -msgstr "" +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 "" +"Y añade un segundo paso que utilice `wc` para contar los caracteres de cada " +"archivo. Consulte la herramienta a continuación:" #: ../../src/topics/workflows.md:483 4afccfe982ff4be2be96cbe5889e5014 msgid "`wc-tool.cwl`" -msgstr "" +msgstr "`wc-tool.cwl`" #: ../../src/topics/workflows.md:489 63595d35dded4911aab0be3a165eec0c +#, fuzzy msgid "" "Now, how do we incorporate scatter? Remember the scatter field is under " "each step:" msgstr "" +"Ahora, ¿cómo incorporamos la dispersión? Recuerde que el campo de dispersión " +"está debajo de cada paso:" #: ../../src/topics/workflows.md:491 a7f96ec6e4f24c62ac0f5b6edcc9734b msgid "`scatter-two-steps.cwl`" -msgstr "" +msgstr "`scatter-two-steps.cwl`" #: ../../src/topics/workflows.md:497 122452b7d7114c3fa53cbea286703023 +#, fuzzy 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 " @@ -3707,6 +4879,20 @@ msgid "" "the first step must wait on `echo Hallo welt!`. You can see how this " "might not scale well." msgstr "" +"Aquí hemos colocado el campo de dispersión debajo de cada paso. Esto está " +"bien para este ejemplo, ya que se ejecuta rápidamente, pero si está " +"ejecutando muchas muestras para un flujo de trabajo más complejo, es posible " +"que desee considerar una alternativa. Aquí estamos ejecutando scatter en " +"cada paso independientemente, pero como el segundo paso no depende del " +"primero para completar todos los lenguajes, no estamos utilizando la " +"funcionalidad scatter eficientemente. El segundo paso espera un array como " +"entrada del primer paso, así que esperará hasta que todo en el primer paso " +"esté terminado antes de hacer nada. Supongamos que `echo ¡Hola Mundo!` tarda " +"1 minuto en ejecutarse, `wc -c` en la salida tarda 3 minutos y que `echo ¡" +"Hallo welt!` tarda 5 minutos en ejecutarse, y `wc` en esa salida tarda 3 " +"minutos. Aunque `echo ¡Hola Mundo!` podría terminar en 4 minutos, en " +"realidad terminará en 8 minutos porque el primer paso debe esperar a `echo ¡" +"Hallo welt!`. Puedes ver cómo esto podría no escalar bien." #: ../../src/topics/workflows.md:509 85dd63daf04546b78bdcb68c1d985fa9 msgid "" @@ -3715,20 +4901,27 @@ msgid "" " make an entire workflow a single step in another workflow! Convert our " "two-step workflow to a single step subworkflow:" msgstr "" +"Bien, entonces ¿cómo nos dispersamos en pasos que pueden proceder " +"independientemente de otras muestras? Recuerde de [Flujos de trabajo " +"anidados](#nested-workflows), que podemos hacer que todo un flujo de trabajo " +"sea un único paso en otro flujo de trabajo. Convierta nuestro flujo de " +"trabajo de dos pasos en un sub‐flujo de trabajo de un solo paso:" #: ../../src/topics/workflows.md:513 fac138ba275745898b763a7d719a8235 msgid "`scatter-nested-workflow.cwl`" -msgstr "" +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 "" +"Ahora la dispersión actúa sobre un único paso, pero ese paso consta de dos " +"pasos tales que cada paso es realizado en paralelo." #: ../../src/topics/workflows.md:522 b0bf01dad1234a1db3c87b10953e42ef msgid "Conditional Workflows" -msgstr "" +msgstr "Flujos de trabajo condicionales" #: ../../src/topics/workflows.md:524 8d933ed1ec6e408589f781e3a425b869 msgid "" @@ -3736,16 +4929,22 @@ msgid "" "input. This allows workflows to skip additional steps based on input " "parameters given at the start of the program or by previous steps." msgstr "" +"Este flujo de trabajo contiene un paso condicional y se ejecuta en función " +"de la entrada. Esto permite que los flujos de trabajo omitan pasos " +"adicionales basados en parámetros de entrada dados al inicio del programa o " +"por pasos anteriores." #: ../../src/topics/workflows.md:527 9ac7b4f71621411da9a4ca3bc277dcb0 msgid "`conditional-workflow.cwl`" -msgstr "" +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 "" +"Lo primero que notarás es que este flujo de trabajo sólo es compatible para " +"la versión 1.2 o superior de las normas CWL." #: ../../src/topics/workflows.md:573 4742fe09a4264fb8be6f092519de5d72 msgid "" @@ -3755,6 +4954,11 @@ msgid "" "`in1` from the workflow contains a value `< 1` this step will be " "executed." msgstr "" +"El primer paso del flujo de trabajo (paso1) contiene dos propiedades de " +"entrada y ejecutará foo.cwl cuando se cumplan las condiciones. La nueva " +"propiedad `when` es donde tiene lugar la validación de la condición. En este " +"caso sólo cuando `in1` del flujo de trabajo contenga un valor `< 1` se " +"ejecutará este paso." #: ../../src/topics/workflows.md:587 b33ecd2b8af042feb08687e32d4b6bbf msgid "" @@ -3763,22 +4967,30 @@ msgid "" "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 "" +"Usando el siguiente comando `cwltool cond-wf-003.1.cwl --val 0` el valor " +"pasará el primer paso condicional y por lo tanto será ejecutado y se muestra " +"en la bitácora mediante `INFO [paso1] start` mientras que el segundo paso es " +"omitido como indica `INFO [paso2] será omitido`." #: ../../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 "" +"Cuando se da un valor de 3 el primer paso condicional no se ejecutará pero " +"el segundo paso sí `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 "" +"Si no se cumplen las condiciones, por ejemplo al utilizar `--val 2`, el " +"flujo de trabajo generará un fallo permanente (permanentFail)." #: ../../src/topics/yaml-guide.md:1 4fa76441f95d45fab76ab7eef8d7d4d2 msgid "YAML Guide" -msgstr "" +msgstr "Guía de YAML" #: ../../src/topics/yaml-guide.md:6 705765787eb84ecaae004194225924cb msgid "" @@ -3786,38 +4998,42 @@ msgid "" "and humans. This guide introduces the features of YAML that are relevant " "when writing CWL descriptions and input parameter files." msgstr "" +"[YAML][yaml] es un formato de archivo diseñado para ser leído tanto por " +"ordenadores como por humanos. Esta guía presenta las características de YAML " +"que son relevantes a la hora de escribir descripciones CWL y archivos de " +"parámetros de entrada." #: ../../src/topics/yaml-guide.md:13 cb243f6ab11f48ffb5c91945c4e0d101 msgid "You can skip this section if you are already comfortable with YAML." -msgstr "" +msgstr "Puede saltarse esta sección si ya se siente cómodo con YAML." #: ../../src/topics/yaml-guide.md:16 cfc95d15e33a492f842649f92ced941d msgid "Contents" -msgstr "" +msgstr "Contenido" #: ../../src/topics/yaml-guide.md:18 f618d44d202f4c2ea6ff72a1dca2c659 msgid "[Key-Value Pairs](#key-value-pairs)" -msgstr "" +msgstr "[Pares clave-valor](#pares-clave-valor)" #: ../../src/topics/yaml-guide.md:19 36bfa6ed40c54bd99826bedff12c759d msgid "[Comments](#comments)" -msgstr "" +msgstr "[Comentarios](#comentarios)" #: ../../src/topics/yaml-guide.md:20 61913753eb0c4c728889b47f1110be24 msgid "[Maps](#maps)" -msgstr "" +msgstr "[Mapas](#maps)" #: ../../src/topics/yaml-guide.md:21 0de824a05eea46209aafa6f9e2e8623c msgid "[Arrays](#arrays)" -msgstr "" +msgstr "[Formaciones](#arrays)" #: ../../src/topics/yaml-guide.md:22 95627bc476b3415ca4d77246125137d2 msgid "[JSON Style](#json-style)" -msgstr "" +msgstr "[Estilo JSON](#json-style)" #: ../../src/topics/yaml-guide.md:24 3f64a6d33d9a4c22a8a839a8def82686 msgid "Key-Value Pairs" -msgstr "" +msgstr "Pares clave-valor" #: ../../src/topics/yaml-guide.md:26 2f74f6eaa8d84dc9b4d0a166844dedbe msgid "" @@ -3828,6 +5044,13 @@ msgid "" "special meaning in the CWL specification and underscored key names " "otherwise. For example:" msgstr "" +"Básicamente, un archivo escrito en YAML consiste en un conjunto de pares " +"_clave-valor_. Cada par se escribe como `key: value`, donde el espacio en " +"blanco después del `:` es obligatorio. Los nombres de las claves en los " +"archivos CWL no deben contener espacios en blanco - [_camelCase_][camelCase] " +"se utiliza para nombres de claves de varias palabras que tienen un " +"significado especial en la especificación CWL y nombres de claves subrayados " +"en caso contrario. Por ejemplo:" #: ../../src/topics/yaml-guide.md:42 514365e59d9648deb896e2068d967a64 msgid "" @@ -3837,6 +5060,11 @@ msgid "" "representation), Boolean (`true` or `false`), or more complex nested " "types (see below)." msgstr "" +"El YAML anterior define cuatro claves - `first_name`, `last_name`, " +"`age_years`, y `home` - con sus cuatro valores respectivos. Los valores " +"pueden ser cadenas de caracteres, numéricos (enteros, coma flotante o " +"representación científica), booleanos (`true` o `false`) o tipos anidados " +"más complejos (consulte más abajo)." #: ../../src/topics/yaml-guide.md:51 6939eb7e783744d7bcf75ea0a7cae129 msgid "" @@ -3848,10 +5076,18 @@ msgid "" "want to specify a fixed numeric value to a command, make sure that you " "wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." msgstr "" +"Los valores pueden ir entre comillas, pero tenga en cuenta que esto puede " +"cambiar la forma en que se interpretan, es decir, `\"1234\"` se tratará como " +"una cadena de caracteres, mientras que `1234` se tratará como un número " +"entero. Esta distinción puede ser importante, por ejemplo, cuando se " +"describen los parámetros de un comando: en CWL todas las partes de " +"`baseCommand` deben ser cadenas de caracteres, por lo que, si desea " +"especificar un valor numérico fijo a un comando, asegúrese de envolver ese " +"valor numérico entre comillas: `comandobase: [echo, \"42\"]`." #: ../../src/topics/yaml-guide.md:61 96e1776b09e840ebbc9b4b7e01da0e43 msgid "Comments" -msgstr "" +msgstr "Comentarios" #: ../../src/topics/yaml-guide.md:63 8b17f7557c3540b2b0d0beca0fe4ebc7 msgid "" @@ -3859,16 +5095,23 @@ msgid "" "characters to the right of ` #` will be ignored by the program " "interpreting the YAML. For example:" msgstr "" +"Puede utilizar `#` para añadir comentarios a sus archivos CWL y de " +"parámetros. Cualquier carácter a la derecha de ` #` será ignorado por el " +"programa que interprete el YAML. Por ejemplo:" #: ../../src/topics/yaml-guide.md:76 13da997c82c04023a4b7bb36b76e969d +#, fuzzy msgid "" "If there is anything on the line before the comment, be sure to add at " "least one space before the `#`!" msgstr "" +"¡Si hay algo en la línea anterior al comentario, asegúrese de añadir al " +"menos un espacio antes del `#`!" #: ../../src/topics/yaml-guide.md:79 b9fc191166a64450b64a8182adabad75 +#, fuzzy msgid "Maps" -msgstr "" +msgstr "Mapas" #: ../../src/topics/yaml-guide.md:81 aedf8c4f615845ad91a7947217005d6e msgid "" @@ -3880,6 +5123,13 @@ msgid "" "the key to which they belong (the \"parent\"), and should be indented " "with two spaces (⇥tab characters are not allowed). For example:" msgstr "" +"Cuando se describe una herramienta o flujo de trabajo con CWL, suele ser " +"necesario construir representaciones anidadas más complejas. Denominadas " +"_maps_, estas estructuras jerárquicas se describen en YAML proporcionando " +"pares clave-valor adicionales como valor de cualquier clave. Estos pares (a " +"veces denominados \"heredados\") se escriben en nuevas líneas bajo la clave " +"a la que pertenecen (el \"antecesor\"), y deben sangrarse con dos espacios " +"(no se permiten caracteres ⇥tab). Por ejemplo:" #: ../../src/topics/yaml-guide.md:104 f0f1f414f74342a89065ba5ded8668e5 msgid "" @@ -3893,10 +5143,19 @@ msgid "" " example YAML above, here is a graphical representation of the `inputs` " "object it describes." msgstr "" +"El YAML anterior ilustra como construir descripciones complejas de objetos " +"anidados de forma relativamente rápida. El mapa `inputs` contiene una única " +"clave, `example_flag`, que a su vez contiene dos claves, `type` y " +"`inputBinding`, mientras que uno de sus descendentes, `inputBinding`, " +"contiene otros dos pares clave-valor (`position` y `prefix`). Consulte la " +"sección [Formaciones](#arrays) para obtener más información sobre cómo " +"proporcionar varios valores/parejas clave-valor para una única clave. Para " +"compararlo con el ejemplo YAML anterior, he aquí una representación gráfica " +"del objeto `inputs` descrito." #: ../../src/topics/yaml-guide.md:127 965405e2a45a4cbb8f227bc8ceeb05df msgid "Arrays" -msgstr "" +msgstr "Formaciones" #: ../../src/topics/yaml-guide.md:129 5aca9a90fb6149529ed717992746a2f3 msgid "" @@ -3908,14 +5167,21 @@ msgid "" "this with an _array_, where each value is defined on its own line and " "preceded by `-`. For example:" msgstr "" +"En determinadas circunstancias, es necesario proporcionar varios valores u " +"objetos para una única clave. Como ya hemos visto en la sección [Mapas]" +"(#maps) anterior, es posible asignar más de una pareja clave-valor a una " +"única clave. Sin embargo, también es posible definir múltiples valores para " +"una clave sin tener que proporcionar una clave única para cada valor. " +"Podemos conseguirlo con una _formación_, donde cada valor se define en su " +"propia línea y precedido por `-`. Por ejemplo:" #: ../../src/topics/yaml-guide.md:146 d1c9e72e004b4fb4a6efb7748a15ab6f msgid "and a more complex example combining maps and arrays:" -msgstr "" +msgstr "y un ejemplo más complejo que combina mapas y formaciones:" #: ../../src/topics/yaml-guide.md:167 9a3d6879404745a48cd394bf86865dbc msgid "JSON Style" -msgstr "" +msgstr "Estilo JSON" #: ../../src/topics/yaml-guide.md:169 6a7cca0339794e679329b00d89e29d2b msgid "" @@ -3923,12 +5189,16 @@ msgid "" "arrays can also be defined in YAML using the native JSON syntax. For " "example:" msgstr "" +"YAML se basa en [Notación de Objeto JavaScript (JSON)][json]. Los mapas y " +"las formaciones también pueden definirse en YAML utilizando la sintaxis JSON " +"nativa. Por ejemplo:" #: ../../src/topics/yaml-guide.md:177 d8feed2d36d04fe283b9de9784d91941 msgid "and:" -msgstr "" +msgstr "y:" #: ../../src/topics/yaml-guide.md:184 5156ad32791048f8ace51475d7689575 +#, fuzzy 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 " @@ -3937,10 +5207,16 @@ msgid "" "However, as the second example above shows, it can severely affect the " "readability of a YAML file, and should be used sparingly." msgstr "" +"JSON nativo puede ser útil para indicar dónde un campo se deja vacío " +"intencionadamente (como `[]` para un array vacío), así como dónde tiene más " +"sentido que los valores se encuentren en la misma línea (por ejemplo, al " +"proporcionar opciones y sus valores en un comando shell). Sin embargo, como " +"muestra el segundo ejemplo anterior, puede afectar gravemente a la " +"legibilidad de un archivo YAML, por lo que debe utilizarse con moderación." #: ../../src/topics/yaml-guide.md:194 ce49f80e6fc0498b8ad298fb1f0268f3 msgid "Reference" -msgstr "" +msgstr "Referencia" #: ../../src/topics/yaml-guide.md:196 180d261392a644fcb8ff47d7a4a160c0 msgid "" @@ -3948,10 +5224,13 @@ msgid "" " us while we wrote this guide, though it also covers features that are " "not valid in CWL." msgstr "" +"La referencia [Aprenda YAML en Y Minutos][yaml-y-mins] nos fue muy útil " +"mientras escribíamos esta guía, aunque también cubre características que no " +"son válidas en CWL." #: ../../src/tutorials.md:1 d682035afebf4c128755bd4e58780dd2 msgid "Tutorials" -msgstr "" +msgstr "Tutoriales" #: ../../src/tutorials.md:5 d9adeab63ec54084bc41fb90f264d3ae msgid "" @@ -3959,10 +5238,13 @@ msgid "" "this page` link in the menu if you would like to add another tutorial to " "the list." msgstr "" +"Esta es una lista de tutoriales proporcionados por la comunidad CWL. Utilice " +"el enlace `Editar esta página` del menú si desea añadir otro tutorial a la " +"lista." #: ../../src/tutorials.md:7 23c81edb650b4f86a60c5e0bcedeac1d msgid "Beginner Tutorials" -msgstr "" +msgstr "Tutoriales para principiantes" #: ../../src/tutorials.md:9 87ddaa1e5f57445c8f13803722aa146e msgid "" @@ -3970,22 +5252,24 @@ msgid "" "Contributors.](https://carpentries-incubator.github.io/cwl-novice-" "tutorial/)" msgstr "" +"[Introducción a los flujos de trabajo con Common Workflow Language: para " +"colaboradores](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" #: ../../src/tutorials.md:11 b8ee193ba533498db6263e0f5f4ec45f msgid "Advanced Tutorials" -msgstr "" +msgstr "Tutoriales avanzados" #: ../../src/tutorials.md:13 67c4b3923fce46fdab025495125c91d4 msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" -msgstr "" +msgstr "[Typescript en CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" #: ../../src/tutorials.md:15 e640316669104239970794191b6da38b msgid "Bioinformatics Tutorials" -msgstr "" +msgstr "Tutoriales de bioinformática" #: ../../src/tutorials.md:17 efe94af44b874f9b81b245fbdee43f7f msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" -msgstr "" +msgstr "[rnaseq con CWL](https://arvados.github.io/rnaseq-cwl-training/)" #~ msgid "Non \"`File`\" Types Using `evalFrom`" #~ msgstr "" diff --git a/locales/id/LC_MESSAGES/sphinx.po b/locales/id/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..40d4f4af --- /dev/null +++ b/locales/id/LC_MESSAGES/sphinx.po @@ -0,0 +1,28 @@ +# 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: id\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" + +#: ../../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/id/LC_MESSAGES/user_guide.po b/locales/id/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..99d7d1ce --- /dev/null +++ b/locales/id/LC_MESSAGES/user_guide.po @@ -0,0 +1,3123 @@ +# 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: id\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" + +#: ../../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/ta/LC_MESSAGES/user_guide.po b/locales/ta/LC_MESSAGES/user_guide.po index 8034b19b..59e9808a 100644 --- a/locales/ta/LC_MESSAGES/user_guide.po +++ b/locales/ta/LC_MESSAGES/user_guide.po @@ -8,16 +8,16 @@ 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-15 04:02+0000\n" -"Last-Translator: தமிழ்நேரம் \n" -"Language-Team: Tamil \n" +"PO-Revision-Date: 2026-02-24 16:09+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.13-dev\n" +"X-Generator: Weblate 5.16.1-dev\n" #: ../../LICENSE.md:2 #: 4e203044f0464fd5a3256430391dde12 @@ -410,7 +410,7 @@ msgstr "" #: fdaec25650ab4b0fb1c527610e24ae5a msgid "For example, the filename `a space is here.txt` includes 3 space characters." msgstr "" -"எடுத்துக்காட்டாக, `ஒரு இடம் இங்கே உள்ளது.TXT` 3 இடைவெளி எழுத்துக்களை உள்ளடக்கியது." +"எடுத்துக்காட்டாக, `ஒரு இடம் இங்கே உள்ளது.உரை` இல் 3 இடைவெளி எழுத்துக்களை உள்ளடக்கியது." #: ../../src/faq.md:371 #: 182959fc9f4746d082994e07d05c8cde @@ -1221,9 +1221,9 @@ msgstr "`pip` உடன்` cwltool` ஐ நிறுவுகிறது." #: 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 கட்டளையைப் பயன்படுத்தி பொபமொகருவியை நிறுவுவது உங்களுக்காக வேலை செய்யாது என்றால், " -"[முன்நிபந்தனைகள்](prerequisites.md) பிரிவில் `cwltool` ஐ நிறுவ பிற வழிகள் உள்ளன, " -"மேலும் இந்த பயனரின் மீதமுள்ளவற்றை பின்பற்ற பயன்படுத்தப்படும் மென்பொருள் மற்றும் நூலகங்களின் " +"pip கட்டளையைப் பயன்படுத்தி பொபமொகருவியை நிறுவுவது உங்களுக்காக வேலை செய்யாது என்றால், " +"[முன்நிபந்தனைகள்](prerequisites.md) பிரிவில் `cwltool` ஐ நிறுவப் பிற வழிகள் உள்ளன, " +"மேலும் இந்தப் பயனரின் மீதமுள்ளவற்றை பின்பற்றப் பயன்படுத்தப்படும் மென்பொருள் மற்றும் நூலகங்களின் " "விரிவான பட்டியலையும் கொண்டுள்ளது வழிகாட்டி." #: ../../src/introduction/quick-start.md:51 @@ -2795,7 +2795,7 @@ msgstr "" #: 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` உள்ளீட்டு அளவுருவைக் கொண்ட ஒரு " "உதாரணத்தைப் பயன்படுத்துவோம்." @@ -2808,10 +2808,9 @@ msgstr "`பிரத்யேக-அளவுரு-வெளிப்பாட #: 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 @@ -2826,10 +2825,11 @@ msgstr "" #: 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` ஐ அனுமதிக்கும் எந்" -"த அளவுருவையும் பயன்படுத்தும் போது உங்கள் சாவாகைஉரை வெளிப்பாட்டில் ஒரு அல்லது ஆபரேட்டரைப் " -"பயன்படுத்த நினைவில் கொள்ள வேண்டும். எடுத்துக்காட்டாக, வெளிப்பாட்டை கட்டளை வரி அல்லது வேலை " -"உள்ளீட்டு கோப்பில் எதுவும் வழங்கப்படாவிட்டால் இயல்புநிலை மதிப்பைக் கொண்டிருக்க `$ (உள்ளீடுகள்." +"அதைச் சரிசெய்ய, பிரத்யேக அளவுருக்களைப் பயன்படுத்தும்போது அல்லது `சுழிய` ஐ அனுமதிக்கும் " +"எந்த அளவுருவையும் பயன்படுத்தும்போது உங்கள் சாவாகைஉரை வெளிப்பாட்டில் ஒரு அல்லது ஆபரேட்டரைப் " +"பயன்படுத்த நினைவில் கொள்ள வேண்டும். எடுத்துக்காட்டாக, கட்டளை வரியில் அல்லது வேலை உள்ளீட்டு " +"கோப்பில் எதுவும் வழங்கப்படவில்லை எனில், வெளிப்பாடு `$(inputs.file_format || 'auto')` " +"என மாற்றப்படலாம்." #: ../../src/topics/metadata-and-authorship.md:1 #: d33aa2353ad44fb885d3a1ee48263dc4 @@ -3363,9 +3363,9 @@ msgstr "" #: 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` வெற்றிகரமாக செயல்படுத்தப்பட்டது மற்றும் அதன் வெளியீடு உங்கள்` கேசெடிர்` " -"இடத்தில் தற்காலிகமாக சேமிக்கப்பட்டுள்ளது. உருவாக்கப்பட்ட இடைநிலை கோப்புகளை நீங்கள் ஆய்வு " +"`படி_ஆ` இல்லாத `revv` கட்டளையை இயக்கத் தவறியதால் பணிப்பாய்வு `நிரந்தர தோல்வி` நிலையில் " +"உள்ளது. `படி_அ` வெற்றிகரமாகச் செயல்படுத்தப்பட்டது மற்றும் அதன் வெளியீடு உங்கள் `cachedir` " +"இடத்தில் தற்காலிகமாகச் சேமிக்கப்பட்டுள்ளது. உருவாக்கப்பட்ட இடைநிலை கோப்புகளை நீங்கள் ஆய்வு " "செய்யலாம்:" #: ../../src/topics/troubleshooting.md:44 @@ -3382,10 +3382,10 @@ msgstr "" 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` இன் நிலை " -"இப்போது வெற்றிபெறுகிறது என்பதையும் நினைவில் கொள்க." +"`revv` ஆல்` rev` ஆல் `step_b`). எழுத்துப்பிழையை சரிசெய்த பிறகு, முந்தைய நேரத்தின் " +"அதே வாதங்களுடன் `cwltool` ஐ இயக்கும்போது, இப்போது` cwltool` வெளியீட்டில் `படி_அ` க்கான " +"முன்-தற்காலிக வெளியீடுகள்பற்றிய தகவல்கள் உள்ளன, மேலும் `படி_ஆ`. `படி_ஆ` இன் நிலை இப்போது " +"வெற்றிபெறுகிறது என்பதையும் நினைவில் கொள்க." #: ../../src/topics/troubleshooting.md:59 #: 7e0bf00f8ce542b9b009cdcf1945a9e5 @@ -3598,7 +3598,7 @@ msgstr "" #: ../../src/topics/workflows.md:185 #: 26c51dcb76364ed780376aecb7cbacda msgid "`1st-workflow-job.yml`" -msgstr "`1 வது-வொர்க்ஃப்ளோ-JOB.YML`" +msgstr "`1 வது-பணிப்பாய்வு-பணி.yml`" #: ../../src/topics/workflows.md:191 #: 6fcf8ad3d1bd49afa4a105622437bd59 @@ -3819,11 +3819,11 @@ msgstr "சிதறல் படிகள்" 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 கோப்புகளை உருவாக்காமல் பல உள்ளீடுகளில் ஒரே பணிப்பாய்வுகளை இயக்க இது உங்களை " +"`ScatterFeatureRequirement` ஐப் பயன்படுத்தத் தொடங்கலாம். உள்ளீடுகளின் பட்டியலில் ஒரு " +"கருவி அல்லது பணிப்பாய்வுகளை பல முறை இயக்க விரும்புகிறீர்கள் என்று இந்த நற்பொருத்தம் " +"ரன்னரிடம் கூறுகிறது. பணிப்பாய்வு பின்னர் உள்ளீட்டை (களை) ஒரு வரிசையாக எடுத்து, வரிசையின் " +"ஒவ்வொரு உறுப்பிலும் குறிப்பிட்ட படி (களை) ஒரு உள்ளீடுபோல இயக்கும். பல கட்டளைகளை அல்லது " +"உள்ளீட்டு yaml கோப்புகளை உருவாக்காமல் பல உள்ளீடுகளில் ஒரே பணிப்பாய்வுகளை இயக்க இது உங்களை " "அனுமதிக்கிறது." #: ../../src/topics/workflows.md:411 @@ -3844,7 +3844,7 @@ msgstr "`சிதறல்-வொர்க்ஃப்ளோ.சிடபிள #: 3a67d77a2e7b4c0bb61cc3585ceae942 msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" msgstr "" -"`SPATTERFEATUREREQUIREMENT` உட்பட` தேவைகள்` பிரிவைத் தவிர, இங்கே என்ன நடக்கிறது?" +"`ScatterFeatureRequirement` உட்பட` தேவைகள்` பிரிவைத் தவிர, இங்கே என்ன நடக்கிறது?" #: ../../src/topics/workflows.md:429 #: f1cb55fc59824cc18a95fd6dcb32cf4c diff --git a/locales/vi/LC_MESSAGES/sphinx.po b/locales/vi/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..218d5575 --- /dev/null +++ b/locales/vi/LC_MESSAGES/sphinx.po @@ -0,0 +1,28 @@ +# 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: vi\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" + +#: ../../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/vi/LC_MESSAGES/user_guide.po b/locales/vi/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..60ffa31b --- /dev/null +++ b/locales/vi/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: 2026-02-22 15:09+0000\n" +"Last-Translator: Ngô Quang Đại \n" +"Language-Team: Vietnamese \n" +"Language: vi\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.16.1-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "Giấy phép" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "Tài liệu hướng dẫn" + +#: ../../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 "" +"Tất cả tài liệu hướng dẫn Common Workflow Language và các thay đổi về cấu " +"trúc cũng được cung cấp theo [Creative Commons Attribution license][cc-by-" +"human]. Sau đây là bản tóm tắt dễ đọc (và không thay thế cho) [full legal " +"text of the CC BY 4.0 license][cc-by-legal]." + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "Bạn được quyền tự do:" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"**Chia sẻ**---sao chép và phân phối lại tài liệu trên bất kỳ phương tiện " +"hoặc định dạng nào" + +#: ../../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 "cho bất kỳ mục đích nào, kể cả mục đích thương mại." + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "" +"Bên cấp phép không thể thu hồi các quyền tự do này miễn là bạn tuân thủ các " +"điều khoản của giấy phép:" + +#: ../../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 "Docker" + +#: ../../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 ""