Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Especificaciones de la definición del flujo de trabajo de CWL
Los flujos de trabajo escritos en Common Workflow Language, o CWL, ofrecen una funcionalidad similar a los flujos de trabajo escritos en WDL y Nextflow. Puede utilizar Amazon S3 o el HealthOmics almacenamiento URIs como parámetros de entrada.
Si define la entrada en un archivo secundario de un subflujo de trabajo, añada la misma definición en el flujo de trabajo principal.
HealthOmics los flujos de trabajo no admiten los procesos de operación. Para obtener más información sobre los procesos operativos en los flujos de trabajo de CWL, consulte la documentación de CWL
Para convertir un archivo de definición de flujo de trabajo de CWL existente y utilizarlo HealthOmics, realice los siguientes cambios:
-
Sustituya todos los contenedores URIs de Docker por Amazon URIs ECR.
-
Asegúrese de que todos los archivos del flujo de trabajo estén declarados en el flujo de trabajo principal como entrada y de que todas las variables estén definidas de forma explícita.
-
Asegúrese de que todo el JavaScript código cumpla con el modo estricto.
Los flujos de trabajo de CWL deben definirse para cada contenedor utilizado. No se recomienda codificar de forma rígida la entrada de DockerPull con una URI de Amazon ECR fija.
El siguiente es un ejemplo de un flujo de trabajo escrito en CWL.
cwlVersion: v1.2 class: Workflow inputs: in_file: type: File secondaryFiles: [.fai] out_filename: string docker_image: string outputs: copied_file: type: File outputSource: copy_step/copied_file steps: copy_step: in: in_file: in_file out_filename: out_filename docker_image: docker_image out: [copied_file] run: copy.cwl
El siguiente archivo define la copy.cwl
tarea.
cwlVersion: v1.2 class: CommandLineTool baseCommand: cp inputs: in_file: type: File secondaryFiles: [.fai] inputBinding: position: 1 out_filename: type: string inputBinding: position: 2 docker_image: type: string outputs: copied_file: type: File outputBinding: glob: $(inputs.out_filename) requirements: InlineJavascriptRequirement: {} DockerRequirement: dockerPull: "$(inputs.docker_image)"
El siguiente es un ejemplo de un flujo de trabajo escrito en CWL con un requisito de GPU.
cwlVersion: v1.2 class: CommandLineTool baseCommand: ["/bin/bash", "docm_haplotypeCaller.sh"] $namespaces: cwltool: http://commonwl.org/cwltool# requirements: cwltool:CUDARequirement: cudaDeviceCountMin: 1 cudaComputeCapability: "nvidia-tesla-t4" cudaVersionMin: "1.0" InlineJavascriptRequirement: {} InitialWorkDirRequirement: listing: - entryname: 'docm_haplotypeCaller.sh' entry: | nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv inputs: [] outputs: []