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.
Crear un flujo de trabajo privado
Cree un flujo de trabajo mediante el HealthOmics consola, AWS comandos de la CLI o uno de los AWS SDKs.
nota
No incluyas ninguna información de identificación personal (PII) en los nombres de los flujos de trabajo. Estos nombres están visibles en CloudWatch registros.
Al crear un flujo de trabajo, HealthOmics asigna un identificador único universal (UUID) al flujo de trabajo. El UUID del flujo de trabajo es un identificador único global (GUID) que es único en todos los flujos de trabajo y las versiones del flujo de trabajo. Por motivos de procedencia de los datos, te recomendamos que utilices el UUID del flujo de trabajo para identificar de forma exclusiva los flujos de trabajo.
Si sus tareas de flujo de trabajo utilizan herramientas externas (ejecutables, bibliotecas o scripts), cree estas herramientas en una imagen de contenedor. Tienes las siguientes opciones para alojar la imagen del contenedor:
-
Aloje la imagen del contenedor en el registro privado del ECR. Requisitos previos para esta opción:
-
Cree un repositorio privado de ECR o elija un repositorio existente.
-
Configure la política de recursos de ECR como se describe en Permisos de Amazon ECR.
-
Sube la imagen de tu contenedor al repositorio privado.
-
-
Sincronice la imagen del contenedor con el contenido de un registro externo compatible. Requisitos previos para esta opción:
-
En el registro privado del ECR, configure una regla de extracción de caché para cada registro ascendente. Para obtener más información, consulte Mapeos de imágenes.
-
Configure la política de recursos del ECR como se describe en Permisos de Amazon ECR.
-
Crea plantillas de creación de repositorios. La plantilla define la configuración para cuando Amazon ECR crea el repositorio privado para un registro ascendente.
-
Cree mapeos de prefijos para reasignar las referencias a imágenes de contenedores de la definición del flujo de trabajo a los espacios de nombres de la caché de ECR.
-
Al crear un flujo de trabajo, se proporciona una definición de flujo de trabajo que contiene información sobre el flujo de trabajo, las ejecuciones y las tareas. HealthOmics puede recuperar la definición del flujo de trabajo como un archivo.zip almacenado localmente o en un bucket de Amazon S3, o desde un depósito compatible Git-based repositorio.
Temas
Crear un flujo de trabajo mediante la consola
Pasos para crear un flujo de trabajo
-
Abra la consola de HealthOmics
. -
Si es necesario, abre el panel de navegación izquierdo (≡). Elige Flujos de trabajo privados.
-
En el Flujos de trabajo privados página, elige Crea un flujo de trabajo.
-
En el Definir el flujo página, proporcione la siguiente información:
-
Nombre del flujo de trabajo: un nombre distintivo para este flujo de trabajo. Recomendamos configurar los nombres de los flujos de trabajo para organizar las ejecuciones en AWS HealthOmics consola y CloudWatch registros.
-
Descripción (opcional): una descripción de este flujo de trabajo.
-
-
En el Definición de flujo de trabajo panel, proporcione la siguiente información:
-
lenguaje de flujo de trabajo (opcional): seleccione el idioma de especificación del flujo de trabajo. De lo contrario, HealthOmics determina el idioma a partir de la definición del flujo de trabajo.
-
Para Fuente de definición de flujo de trabajo, elija importar la carpeta de definiciones desde Git-based desde un repositorio, una ubicación de Amazon S3 o desde una unidad local.
-
Para Importar desde un servicio de repositorio:
nota
HealthOmics admite repositorios públicos y privados para GitHub, GitLab, Bitbucket, GitHub self-managed, GitLab self-managed.
-
Elige un Conexión para conectar tu AWS recursos al repositorio externo. Para crear una conexión, consulte Conéctese con repositorios de código externos.
nota
Clientes en el TLV la región necesita crear una conexión en IAD región (us-east-1) para crear un flujo de trabajo.
-
En ID de repositorio completo, introduce tu ID de repositorio como usuario-name/repo-nombre. Compruebe que tiene acceso a los archivos de este repositorio.
-
En Referencia de origen (opcional), introduce una referencia de origen del repositorio (sucursal, etiqueta o ID de confirmación). HealthOmics usa la rama predeterminada si no se especifica ninguna referencia de origen.
-
En Excluir patrones de archivos, introduzca los patrones de archivo para excluir carpetas, archivos o extensiones específicas. Esto ayuda a administrar el tamaño de los datos al importar archivos de repositorio. Hay un máximo de 50 patrones y los patrones deben seguir el sintaxis de patrones globales
. Por ejemplo: -
tests/ -
*.jpeg -
large_data.zip
-
-
-
Para Seleccione la carpeta de definiciones de S3:
-
Introduzca la ubicación de Amazon S3 que contiene la carpeta comprimida de definiciones de flujo de trabajo. El bucket de Amazon S3 debe estar en la misma región que el flujo de trabajo.
-
Si su cuenta no es propietaria del bucket de Amazon S3, introduzca el del propietario del bucket AWS ID de cuenta en ID de la cuenta del propietario del bucket S3. Esta información es necesaria para que HealthOmics puede verificar la propiedad del bucket.
-
-
Para Seleccione la carpeta de definiciones de una fuente local:
-
Introduzca la ubicación de la unidad local de la carpeta de definición de flujo de trabajo comprimida.
-
-
-
Ruta principal del archivo de definición del flujo de trabajo (opcional): introduzca la ruta del archivo desde la carpeta o repositorio de definiciones del flujo de trabajo comprimido hasta el
mainarchivo. Este parámetro no es obligatorio si solo hay un archivo en la carpeta de definición del flujo de trabajo o si el archivo principal se denomina «principal».
-
-
En el Archivo README panel (opcional), seleccione Fuente del archivo README y proporcione la siguiente información:
-
Para Importar desde un servicio de repositorio, en Ruta del archivo README, introduzca la ruta al archivo README que se encuentra en el repositorio.
-
Para Seleccione un archivo de S3, en Archivo README en S3, introduzca la URI de Amazon S3 para el archivo README.
-
Para Seleccione un archivo de una fuente local: en README: opcional, eligió Elige un archivo para seleccionar el archivo markdown (.md) que se va a cargar.
-
-
En el Configuración de almacenamiento de ejecución predeterminada panel, proporcione el tipo de almacenamiento de ejecución y la capacidad predeterminados para las ejecuciones que utilizan este flujo de trabajo:
-
Tipo de almacenamiento de ejecución: Elija si desea utilizar el almacenamiento estático o dinámico como predeterminado para el almacenamiento de ejecución temporal. El valor predeterminado es el almacenamiento estático.
-
Ejecute la capacidad de almacenamiento (opcional): para el tipo de almacenamiento de ejecución estático, puede introducir la cantidad predeterminada de almacenamiento de ejecución requerida para este flujo de trabajo. El valor predeterminado de este parámetro es 1200 GiB. Puede anular estos valores predeterminados al iniciar una ejecución.
-
-
Etiquetas (opcional): puedes asociar hasta 50 etiquetas a este flujo de trabajo.
-
Elija Siguiente.
-
En el Añadir parámetros de flujo de trabajo página (opcional), seleccione Fuente de parámetros:
-
Para Analizar desde el archivo de definición de flujo de trabajo, HealthOmics analizará automáticamente los parámetros del flujo de trabajo desde el archivo de definición del flujo de trabajo.
-
Para Proporcione una plantilla de parámetros del repositorio de Git, usa la ruta al archivo de plantilla de parámetros desde tu repositorio.
-
Para Seleccione el archivo JSON de la fuente local, sube un JSON archivo de una fuente local que especifica los parámetros.
-
Para Introduzca manualmente los parámetros del flujo de trabajo, introduzca manualmente los nombres y las descripciones de los parámetros.
-
-
En el Vista previa de parámetros panel, puede revisar o cambiar los parámetros de esta versión del flujo de trabajo. Si restaura el JSON el archivo, perderá todos los cambios locales que haya realizado.
-
Elija Siguiente.
-
En el Reasignación de URI de contenedores página, en reglas de mapeo panel, puede definir las reglas de mapeo de URI para su flujo de trabajo.
Para Fuente del archivo de mapeo, seleccione una de las siguientes opciones:
-
Ninguna — No se requieren reglas de mapeo.
-
Seleccione el archivo JSON de S3 — Especifique la ubicación de S3 para el archivo de mapeo.
-
Seleccione el archivo JSON de una fuente local — Especifique la ubicación del archivo de mapeo en su dispositivo local.
-
Introduzca las asignaciones manualmente — introduzca las asignaciones de registro y las asignaciones de imágenes en el Mapeos panel.
-
La consola muestra el Mapeos panel. Si ha elegido un archivo fuente de mapas, la consola muestra los valores del archivo.
-
En Mapeos de registro, puede editar los mapeos o agregar mapeos (máximo de 20 mapeos de registro).
Cada mapeo de registro contiene los siguientes campos:
-
URL de registro ascendente — La URI del registro ascendente.
-
Prefijo del repositorio ECR — El prefijo del repositorio que se utilizará en el repositorio privado de Amazon ECR.
-
(Opcional) Prefijo del repositorio ascendente — El prefijo del repositorio en el registro anterior.
-
(Opcional) ID de cuenta ECR — ID de cuenta de la cuenta propietaria de la imagen del contenedor ascendente.
-
(Opcional) Credencial (ARN) — El ARN del secreto de Secrets Manager que contiene sus credenciales para el registro. Obligatorio para los registros que Amazon ECR extrae de la caché no son compatibles, como Seqera, NVIDIA NGC, Google Artifact Registry y Google Container Registry. Para obtener más información, consulte Uso de registros de terceros no compatibles con la caché de extracción.
-
-
En Mapeos de imágenes, puede editar los mapeos de imágenes o agregar mapeos (máximo de 100 mapeos de imágenes).
Cada mapeo de imágenes contiene los siguientes campos:
-
Imagen de origen — Especifica el URI de la imagen de origen en el registro anterior.
-
Imagen de destino — Especifica el URI de la imagen correspondiente en el registro privado de Amazon ECR.
-
-
-
Elija Siguiente.
-
Revise la configuración del flujo de trabajo y, a continuación, elija Crea un flujo de trabajo.
Crear un flujo de trabajo mediante la CLI
Si los archivos de flujo de trabajo y el archivo de plantilla de parámetros están en su máquina local, puede crear un flujo de trabajo mediante el siguiente comando de la CLI.
aws omics create-workflow \ --name "my_workflow" \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json
El create-workflow la operación devuelve la siguiente respuesta:
{ "arn": "arn:aws:omics:us-west-2:....", "id": "1234567", "status": "CREATING", "tags": { "resourceArn": "arn:aws:omics:us-west-2:...." }, "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f" }
Parámetros opcionales para usar al crear un flujo de trabajo
Puede especificar cualquiera de los parámetros opcionales al crear un flujo de trabajo. Para obtener más información sobre la sintaxis, consulte CreateWorkflow en AWS HealthOmics Referencia de API.
Temas
Especifique la ubicación de Amazon S3 de la definición del flujo de trabajo
Si el archivo de definición del flujo de trabajo se encuentra en una carpeta de Amazon S3, especifique la ubicación mediante el definition-uri parámetro, como se muestra en el siguiente ejemplo. Si su cuenta no es propietaria del bucket de Amazon S3, indique el del propietario Cuenta de AWS IDENTIFICACIÓN.
aws omics create-workflow \ --name Test \ --definition-uri s3://omics-bucket/workflow-definition/ \ --owner-id 123456789012 ...
Utilice la definición de flujo de trabajo de un Git-based repositorio
Para usar la definición de flujo de trabajo de un sitio compatible Git-based repositorio, utilice el definition-repository parámetro de su solicitud. No proporciones ningún otro definition parámetro, ya que una solicitud falla si incluye más de una fuente de entrada.
El definition-respository el parámetro contiene los siguientes campos:
-
connectionArn — El ARN de la conexión de código que conecta sus recursos de AWS con el repositorio externo.
-
fullRepositoryId — Introduzca el ID del repositorio como
owner-name/repo-name. Compruebe que tiene acceso a los archivos de este repositorio. -
sourceReference (Opcional): introduzca un tipo de referencia de repositorio (BRANCH, TAG o COMMIT) y un valor.
HealthOmics usa la confirmación más reciente en la rama predeterminada si no especificas una referencia de origen.
-
excludeFilePatterns (Opcional): introduce los patrones de archivo para excluir carpetas, archivos o extensiones específicas. Esto ayuda a administrar el tamaño de los datos al importar los archivos del repositorio. Proporcione un máximo de 50 patrones. Los patrones deben seguir el sintaxis de patrones globales
. Por ejemplo: -
tests/ -
*.jpeg -
large_data.zip
-
Cuando especificas la definición del flujo de trabajo desde un Git-based repositorio, utilice parameter-template-path para especificar el archivo de plantilla de parámetros. Si no proporciona este parámetro, HealthOmics crea el flujo de trabajo sin una plantilla de parámetros.
El siguiente ejemplo muestra los parámetros relacionados con el contenido de un Git-based repositorio privado:
aws omics create-workflow \ --name custom-variant \ --description "Custom variant calling pipeline" \ --engine "WDL" \ --definition-repository '{ "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/abcd1234-5678-90ab-cdef-1234567890ab", "fullRepositoryId": "myorg/my-genomics-workflows", "sourceReference": { "type": "BRANCH", "value": "main" }, "excludeFilePatterns": ["tests/**", "*.log"] }' \ --main "workflows/variant-calling/main.wdl" \ --parameter-template-path "parameters/variant-calling-params.json" \ --readme-path "docs/variant-calling-README.md" \ --storage-type "DYNAMIC" \
Para ver más ejemplos, consulta la entrada del blog ¿Cómo crear una AWS HealthOmics Flujos de trabajo a partir del contenido de Git
Especifique un archivo Readme
Puede especificar la ubicación del archivo README mediante uno de los siguientes parámetros:
-
readme-markdown — Introducir una cadena o un archivo en su máquina local.
-
readme-uri — El URI de un archivo almacenado en S3.
-
readme-path — La ruta al archivo README del repositorio.
Utilice readme-path solo en combinación con repositorio de definiciones. Si no especificas ningún parámetro README, HealthOmics importa el nivel raíz README.md archivo en el repositorio (si existe).
Los siguientes ejemplos muestran cómo especificar la ubicación del archivo README mediante readme-path y readme-uri.
# Using README from repository aws omics create-workflow \ --name "documented-workflow" \ --definition-repository '...' \ --readme-path "docs/workflow-guide.md" # Using README from S3 aws omics create-workflow \ --name "s3-readme-workflow" \ --definition-repository '...' \ --readme-uri "s3://my-bucket/workflow-docs/readme.md"
Para obtener más información, consulte HealthOmics Archivos README de flujo de trabajo.
Especifique el main archivo de definición
Si va a incluir varios archivos de definición de flujo de trabajo, utilice main parámetro para especificar el archivo de definición principal para su flujo de trabajo.
aws omics create-workflow \ --name Test \ --main multi_workflow/workflow2.wdl \ ...
Especifique el tipo de almacenamiento de ejecución
Puede especificar el tipo de almacenamiento en ejecución predeterminado (DINÁMICO o ESTÁTICO) y la capacidad de almacenamiento en ejecución (necesaria para el almacenamiento estático). Para obtener más información sobre los tipos de almacenamiento en ejecución, consulte Ejecute tipos de almacenamiento en HealthOmics flujos de trabajo.
aws omics create-workflow \ --name my_workflow \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json \ --storage-type 'STATIC' \ --storage-capacity 1200 \
Especifique la configuración de la GPU
Usa el parámetro accelerators para crear un flujo de trabajo que se ejecute en una instancia de procesamiento acelerado. En el siguiente ejemplo, se muestra cómo usar el accelerators parámetro. La configuración de la GPU se especifica en la definición del flujo de trabajo. Consulte Accelerated-computing instancias.
aws omics create-workflow --name\ --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \ --accelerators GPUworkflow name
Configure los parámetros de mapeo de la caché de extracción
Si utiliza la función de mapeo de caché mediante extracción de Amazon ECR, puede anular las asignaciones predeterminadas. HealthOmics admite registros de contenedores de terceros, como Amazon ECR Public, Kubernetes Container Image Registry, Quay, Docker Hub y Microsoft Azure Container Registry, GitHub Registro de contenedores y GitLab Registro de contenedores. Para obtener más información sobre los parámetros de configuración del contenedor, consulte Imágenes de contenedor para flujos de trabajo privados.
En el siguiente ejemplo, archivo mappings.json contiene este contenido:
{ "registryMappings": [ { "upstreamRegistryUrl": "registry-1.docker.io", "ecrRepositoryPrefix": "docker-hub" }, { "upstreamRegistryUrl": "quay.io", "ecrRepositoryPrefix": "quay", "ecrAccountId": "111122223333" }, { "upstreamRegistryUrl": "public.ecr.aws", "ecrRepositoryPrefix": "ecr-public" } ], "imageMappings": [{ "sourceImage": "docker.io/library/ubuntu:latest", "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/healthomics-docker-2/custom/ubuntu:latest" }, { "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter", "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/healthomics-nvidia/k8s/dcgm-exporter" } ] }
Especifique los parámetros de mapeo en el comando create-workflow:
aws omics create-workflow \ ... --container-registry-map file://mappings.json ...
También puede especificar la ubicación en S3 del archivo de parámetros de mapeo:
aws omics create-workflow \ ... --container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip ...
Configure los parámetros de mapeo de la caché que no son de extracción
Si utilizas imágenes de contenedor de registros que no admiten la extracción en caché, agrega credentialArn a cada mapeo de un registro que HealthOmics copia del ARN secreto completo y lo usa. Para obtener más información, consulte Uso de registros de terceros no compatibles con la caché de extracción.
En el siguiente ejemplo, archivo mappings.json contiene este contenido:
{ "registryMappings": [ { "upstreamRegistryUrl": "community.wave.seqera.io", "ecrRepositoryPrefix": "wave-seqera", "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/seqera-EXAMPLE" }, { "upstreamRegistryUrl": "nvcr.io", "ecrRepositoryPrefix": "nvidia-ngc", "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/nvidia-ngc-EXAMPLE" } ] }
Especifique los parámetros de mapeo en el comando create-workflow:
aws omics create-workflow \ ... --container-registry-map file://mappings.json ...
También puede proporcionar el mapa de registro en línea. El siguiente ejemplo crea un flujo de trabajo con un mapa de registro en línea para Seqera Containers:
aws omics create-workflow \ --namemy-workflow\ --engine NEXTFLOW \ --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip\ --container-registry-map '{ "registryMappings": [ { "upstreamRegistryUrl": "community.wave.seqera.io", "ecrRepositoryPrefix": "wave-seqera", "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/seqera-EXAMPLE" } ] }'
Crear un flujo de trabajo mediante un SDK
Puede crear un flujo de trabajo con uno de los SDK. El siguiente ejemplo muestra cómo crear un flujo de trabajo con el SDK de Python
import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow( name='my_workflow', definitionZip=definition, parameterTemplate={ ... } )