Iniciando uma corrida em HealthOmics - AWS HealthOmics

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á.

Iniciando uma corrida em HealthOmics

Ao iniciar uma execução, você pode definir o tipo de armazenamento da execução e a quantidade de armazenamento (para armazenamento estático). Para obter informações adicionais, consulte Execute tipos de armazenamento em HealthOmics fluxos de trabalho.

Você também define a prioridade de execução. O impacto da prioridade na execução depende de a execução estar associada a um grupo de execução. Para obter informações adicionais, consulte Prioridade de execução.

Se você tiver criado uma ou mais versões do fluxo de trabalho, poderá especificar a versão ao iniciar a execução. Se você não especificar uma versão, HealthOmics iniciará a versão padrão do fluxo de trabalho.

Especifique uma localização do Amazon S3 para os arquivos de saída. Se você executa um grande volume de fluxos de trabalho simultaneamente, use uma URIs saída separada do Amazon S3 para cada fluxo de trabalho para evitar a limitação do bucket. Para obter mais informações, consulte Organização de objetos usando prefixos no Guia do usuário do Amazon S3 e Dimensione conexões de armazenamento horizontalmente no whitepaper Otimizando o desempenho do Amazon S3.

nota

Você especifica uma função de serviço do IAM ao iniciar uma execução. Opcionalmente, o console pode criar a função de serviço para você. Para obter mais informações, consulte Funções de serviço para AWS HealthOmics.

HealthOmics parâmetros de execução

Ao iniciar uma execução, você especifica as entradas de execução no arquivo JSON dos parâmetros de execução ou pode inserir os valores dos parâmetros em linha. Para obter informações sobre como gerenciar o tamanho do arquivo JSON de parâmetros de execução, consulteGerenciando o tamanho dos parâmetros de execução.

HealthOmics suporta os seguintes tipos de JSON para valores de parâmetros.

Tipo JSON Exemplo de chave e valor Observações
boolean “b”: verdadeiro O valor não está entre aspas e está todo em minúsculas.
integer “i” :7 O valor não está entre aspas.
número “f”: 42,3 O valor não está entre aspas.
string “s”: “caracteres” O valor está entre aspas. Use o tipo de string para valores de texto URIs e. O destino do URI deve ser o tipo de entrada esperado.
array “a”: [1,2,3] O valor não está entre aspas. Cada membro da matriz deve ter o tipo definido pelo parâmetro de entrada.
objeto “o”: {"left” :"a”, “right” :1} Na WDL, o objeto é mapeado para WDL Pair, Map ou Struct

Iniciando uma execução usando o console

Para iniciar a execução de um fluxo de trabalho
  1. Abra o console de HealthOmics .

  2. No painel de navegação esquerdo, escolha Executar.

  3. Na página Execuções, escolha Iniciar execução.

  4. No painel Detalhes da execução, forneça as seguintes informações

    • Fonte do fluxo de trabalho - escolha Fluxo de trabalho próprio ou Fluxo de trabalho compartilhado.

    • ID do fluxo de trabalho - O ID do fluxo de trabalho associado a essa execução.

    • Versão do fluxo de trabalho (opcional) - selecione uma versão do fluxo de trabalho para usar nessa execução. Se você não selecionar uma versão, a execução usará a versão padrão do fluxo de trabalho.

    • Nome da execução - Um nome distinto para essa execução.

    • Prioridade de execução (opcional) - A prioridade dessa execução. Números mais altos especificam uma prioridade mais alta, e as tarefas de maior prioridade são executadas primeiro.

    • Executar tipo de armazenamento - especifique o tipo de armazenamento aqui para substituir o tipo de armazenamento de execução padrão especificado para o fluxo de trabalho. O armazenamento estático aloca uma quantidade fixa de armazenamento para a execução. O armazenamento dinâmico aumenta e diminui conforme necessário para cada tarefa em execução.

    • Capacidade de armazenamento em execução - Para armazenamento em execução estática, especifique a quantidade de armazenamento necessária para a execução. Essa entrada substitui a quantidade padrão de armazenamento de execução especificada para o fluxo de trabalho.

    • Selecione o destino de saída do S3 - O local do S3 onde as saídas de execução serão salvas.

    • ID da conta do proprietário do bucket de saída (opcional) — se sua conta não for proprietária do bucket de saída, insira o Conta da AWS ID do proprietário do bucket. Essas informações são necessárias para que HealthOmics possamos verificar a propriedade do bucket.

    • Modo de retenção de metadados de execução: escolha se deseja reter os metadados de todas as execuções ou fazer com que o sistema remova os metadados de execução mais antigos quando sua conta atingir o número máximo de execuções. Para obter mais informações, consulte Execute o modo de retenção para HealthOmics corridas.

  5. Em Função de serviço, você pode usar uma função de serviço existente ou criar uma nova.

  6. (Opcional) Para tags, você pode atribuir até 50 tags à execução.

  7. Escolha Próximo.

  8. Na página Adicionar valores de parâmetros, forneça os parâmetros de execução. Você pode fazer upload de um arquivo JSON que especifique os parâmetros ou inserir manualmente os valores.

  9. Escolha Próximo.

  10. No painel Grupo de execução, você pode, opcionalmente, especificar um grupo de execução para essa execução. Para obter mais informações, consulte Criação de grupos de HealthOmics corrida.

  11. No painel Executar cache, você pode, opcionalmente, especificar um cache de execução para essa execução. Para obter mais informações, consulte Configurando uma execução com cache de execução usando o console.

  12. Escolha Review and start run (Examinar e iniciar execução).

  13. Depois de revisar a configuração de execução, escolha Iniciar execução.

Iniciando uma execução usando a API

Use a operação de API start-run com a função do IAM e o bucket Amazon S3 que você criou. Este exemplo define o modo de retenção comoREMOVE. Para obter mais informações sobre o modo de retenção, consulteExecute o modo de retenção para HealthOmics corridas.

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name workflow name \ --retention-mode REMOVE

Em resposta, você obtém a seguinte saída. uuidÉ exclusivo para a execução e, junto com ele, outputUri pode ser usado para rastrear onde os dados de saída são gravados.

{ "arn": "arn:aws:omics:us-west-2:....:run/1234567", "id": "123456789", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "PENDING" }

Se o modelo de parâmetro de um fluxo de trabalho declarar quaisquer parâmetros necessários, você poderá fornecer um arquivo JSON local das entradas ao iniciar a execução de um fluxo de trabalho. O arquivo JSON contém o nome exato de cada parâmetro de entrada e um valor para o parâmetro.

Faça referência ao arquivo JSON de entrada no AWS CLI adicionando --parameters file://<input_file.json> à sua start-run solicitação. Para obter mais informações sobre os parâmetros de execução, consulteHealthOmics entradas de execução.

Você pode especificar uma versão do fluxo de trabalho para a execução.

aws omics start-run --workflow-id workflow id \ ... --workflow-version-name '1.2.1'

Você pode substituir o tipo de armazenamento de execução padrão, que é especificado no fluxo de trabalho.

aws omics start-run --workflow-id workflow id \ ... --storage-type STATIC --storage-capacity 2400

Você também pode usar a API start-run com um ID de fluxo de trabalho da GPU, conforme mostrado.

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name GPUTestRunModel \ --output-uri s3://amzn-s3-demo-bucket1

Obtenha informações sobre a execução de um fluxo de trabalho

Você pode usar o ID na resposta com a API get-run para verificar o status de uma execução, conforme mostrado.

aws omics get-run --id run id

A resposta dessa operação de API informa o status da execução do fluxo de trabalho. Os status possíveis são PENDINGSTARTING,RUNNING, e. COMPLETED Quando uma execução é executadaCOMPLETED, você pode encontrar um arquivo de saída chamado outfile.txt no bucket de saída do Amazon S3, em uma pasta com o nome do ID de execução.

A operação da API get-run também retorna outros detalhes, como se o fluxo de trabalho é Ready2Run ouPRIVATE, o mecanismo do fluxo de trabalho e os detalhes do acelerador. O exemplo a seguir mostra a resposta para get-run para uma execução de um fluxo de trabalho privado, descrita na WDL com um acelerador de GPU e sem tags atribuídas à execução.

{ "arn": "arn:aws:omics:us-west-2:123456789012:run/7830534", "id": "7830534", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "COMPLETED", "workflowId": "4074992", "workflowType": "PRIVATE", "workflowVersionName": "3.0.0", "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsWorkflow-20221004T164236", "name": "RunGroupMaxGpuTest", "runGroupId": "9938959", "digest": "sha256:a23a6fc54040d36784206234c02147302ab8658bed89860a86976048f6cad5ac", "accelerators": "GPU", "outputUri": "s3://amzn-s3-demo-bucket1", "startedBy": "arn:aws:sts::123456789012:assumed-role/Admin/<role_name>", "creationTime": "2023-04-07T16:44:22.262471+00:00", "startTime": "2023-04-07T16:56:12.504000+00:00", "stopTime": "2023-04-07T17:22:29.908813+00:00", "tags": {} }

Você pode ver o status de todas as execuções com a operação da API list-runs, conforme mostrado.

aws omics list-runs

Para ver todas as tarefas concluídas em uma execução específica, use a list-run-tasksAPI.

aws omics list-run-tasks --id task ID

Para obter os detalhes de qualquer tarefa específica, use a get-run-task API.

aws omics get-run-task --id <run_id> --task-id task ID

Após a conclusão da execução, os metadados são enviados para o CloudWatch subfluxo. manifest/run/<run ID>/<run UUID>

Veja a seguir um exemplo do manifesto.

{ "arn": "arn:aws:omics:us-east-1:123456789012:run/1695324", "creationTime": "2022-08-24T19:53:55.284Z", "resourceDigests": { "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict": "etag:3884c62eb0e53fa92459ed9bff133ae6", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta": "etag:e307d81c605fb91b7720a08f00276842-388", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai": "etag:f76371b113734a56cde236bc0372de0a", "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals": "etag:27fdd1341246896721ec49a46a575334", "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt": "etag:e22f5aeed0b350a66696d8ffae453227" }, "digest": "sha256:a5baaff84dd54085eb03f78766b0a367e93439486bc3f67de42bb38b93304964", "engine": "WDL", "main": "gatk4-basic-joint-genotyping-v2.wdl", "name": "1044-gvcfs", "outputUri": "s3://omics-data/workflow-output", "parameters": { "callset_name": "cohort", "input_gvcf_uris": "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt", "interval_list": "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals", "ref_dict": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict", "ref_fasta": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta", "ref_fasta_index": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai" }, "roleArn": "arn:aws:iam::123456789012:role/OmicsServiceRole", "startedBy": "arn:aws:sts::123456789012:assumed-role/admin/ahenroid-Isengard", "startTime": "2022-08-24T20:08:22.582Z", "status": "COMPLETED", "stopTime": "2022-08-24T20:08:22.582Z", "storageCapacity": 9600, "uuid": "a3b0ca7e-9597-4ecc-94a4-6ed45481aeab", "workflow": "arn:aws:omics:us-east-1:123456789012:workflow/1558364", "workflowType": "PRIVATE" }, { "arn": "arn:aws:omics:us-east-1:123456789012:task/1245938", "cpus": 16, "creationTime": "2022-08-24T20:06:32.971290", "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/gatk", "imageDigest": "sha256:8051adab0ff725e7e9c2af5997680346f3c3799b2df3785dd51d4abdd3da747b", "memory": 32, "name": "geno-123", "run": "arn:aws:omics:us-east-1:123456789012:run/1695324", "startTime": "2022-08-24T20:08:22.278Z", "status": "SUCCESS", "stopTime": "2022-08-24T20:08:22.278Z", "uuid": "44c1a30a-4eee-426d-88ea-1af403858f76" }, ...

Os metadados de execução não são excluídos se não estiverem presentes nos CloudWatch registros. Você também pode usar o ID de execução para executar novamente as execuções do fluxo de trabalho usando a ferramenta CLI. Saiba mais e baixe a ferramenta no GitHub repositório de HealthOmics ferramentas.

Executando novamente uma execução de fluxo de trabalho

O exemplo a seguir mostra como usar a rerun ferramenta para executar novamente uma execução. Você precisa do ID de execução, que pode ser recuperado dos CloudWatch registros.

omics-rerun 9876543 --name workflow name --retention-mode REMOVE

Se a execução existir em CloudWatch, você receberá uma resposta semelhante à seguinte.

Original request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "sample_rerun", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "new test", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun response: { "arn": "arn:aws:omics:us-west-2:123456789012:run/9171779", "id": "9171779", "status": "PENDING", "tags": {} }

Se o fluxo de trabalho não existir mais, você receberá uma mensagem de erro.