

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# HealthOmics requisitos de definição de fluxo de trabalho
<a name="workflow-defn-requirements"></a>

Os arquivos HealthOmics de definição do fluxo de trabalho devem atender aos seguintes requisitos:
+ As tarefas devem definir input/output parâmetros, repositórios de contêineres do Amazon ECR e especificações de tempo de execução, como alocação de memória ou CPU.
+ Verifique se suas funções do IAM têm as permissões necessárias.<a name="lower"></a>
  + Seu fluxo de trabalho tem acesso aos dados de entrada de AWS recursos, como o Amazon S3. 
  + Seu fluxo de trabalho tem acesso aos serviços de repositório externo quando necessário.
+ Declare os arquivos de saída na definição do fluxo de trabalho. Para copiar arquivos de execução intermediários para o local de saída, declare-os como saídas do fluxo de trabalho. 
+ Os locais de entrada e saída devem estar na mesma região do fluxo de trabalho. 
+ HealthOmics as entradas do fluxo de trabalho de armazenamento devem estar em `ACTIVE` status. HealthOmics não importará entradas com um `ARCHIVED` status, fazendo com que o fluxo de trabalho falhe. Para obter informações sobre entradas de objetos do Amazon S3, consulte. [HealthOmics entradas de execução](workflows-run-inputs.md)
+ A **main** localização do fluxo de trabalho é opcional se o arquivo ZIP contiver uma única definição de fluxo de trabalho ou um arquivo chamado “principal”.<a name="lower"></a>
  + Exemplo de caminho: `workflow-definition/main-file.wdl`
+ Antes de criar um fluxo de trabalho a partir do Amazon S3 ou de sua unidade local, crie um arquivo zip dos arquivos de definição do fluxo de trabalho e de quaisquer dependências, como subfluxos de trabalho.
+ Recomendamos que você declare os contêineres do Amazon ECR no fluxo de trabalho como parâmetros de entrada para validação das permissões do Amazon ECR. 

Considerações adicionais sobre o Nextflow:
+ **/bin**

  As definições do fluxo de trabalho do Nextflow podem incluir uma pasta /bin com scripts executáveis. Esse caminho tem acesso somente para leitura e executável às tarefas. As tarefas que dependem desses scripts devem usar um contêiner criado com os intérpretes de script apropriados. A melhor prática é ligar diretamente para o intérprete. Por exemplo:

  ```
  process my_bin_task {
     ...
     script:
        """
        python3 my_python_script.py
        """
  }
  ```
+ **includeConfig**

  As definições de fluxo de trabalho baseadas em Nextflow podem incluir arquivos nextflow.config que ajudam a abstrair definições de parâmetros ou perfis de recursos de processo. Para oferecer suporte ao desenvolvimento e à execução de pipelines Nextflow em vários ambientes, use uma configuração HealthOmics específica que você adiciona à configuração global usando a diretiva IncludeConfig. Para manter a portabilidade, configure o fluxo de trabalho para incluir o arquivo somente durante a execução HealthOmics usando o seguinte código:

  ```
  // at the end of the nextflow.config file
  if ("$AWS_WORKFLOW_RUN") {
      includeConfig 'conf/omics.config'
  }
  ```
+ **Reports**

  HealthOmics não oferece suporte a relatórios de arrastamento, rastreamento e execução gerados pelo mecanismo. Você pode gerar alternativas para os relatórios de rastreamento e execução usando uma combinação de GetRun chamadas de GetRunTask API. 

Considerações adicionais sobre a CWL:
+ **Container image uri interpolation**

  HealthOmics permite que a propriedade DockerPull do DockerRequirement seja uma expressão javascript embutida. Por exemplo:

  ```
  requirements:
    DockerRequirement:
      dockerPull: "$(inputs.container_image)"
  ```

  Isso permite que você especifique a imagem do contêiner URIs como parâmetros de entrada para o fluxo de trabalho.
+ **Javascript expressions**

  As expressões Javascript devem ser `strict mode` compatíveis.
+ **Operation process**

  HealthOmics não oferece suporte aos processos de operação do CWL.