Inteligência artificial, sem ruído.
Tutoriais4 min

Acelere o design de proteínas com BoltzGen no Amazon SageMaker AI

O design de proteínas é um processo intensivo em computação, especialmente quando se busca gerar milhares de candidatos a ligantes. O BoltzGen, um…

Acelere o design de proteínas com BoltzGen no Amazon SageMaker AI
Imagem de apoio. Fonte: AWS ML Blog.

O design de proteínas é um processo intensivo em computação, especialmente quando se busca gerar milhares de candidatos a ligantes. O BoltzGen, um modelo generativo baseado em difusão, permite criar proteínas e peptídeos que se ligam a alvos específicos. Neste artigo, você aprenderá a acelerar o design de proteínas com BoltzGen no Amazon SageMaker AI, aproveitando a infraestrutura gerenciada da AWS para reduzir custos e complexidade operacional. Ao final, terá um ambiente funcional que escala desde validações rápidas até produção.

Pré-requisitos

ItemDetalhes
Conta AWS ativaCom faturamento habilitado e limites de serviço suficientes para instâncias GPU (ex.: ml.g4dn.xlarge ou superior) na região desejada (ex.: us-east-1).
AWS CLI instalado e configuradoExecute aws configure com suas credenciais.
Função IAM para SageMakerCrie uma role com as políticas AmazonSageMakerFullAccess, acesso de leitura/escrita ao bucket S3 e permissão para puxar imagens do Amazon ECR.
Python 3.11+ e pipInstale as bibliotecas: pip install boto3 sagemaker.
DockerPara construir a imagem do container.
Bucket S3Crie um bucket na região alvo: aws s3 mb s3://amzn-s3-demo-bucket --region us-east-1.

Passo a passo: deploy e execução

Recomendamos usar o Amazon SageMaker Studio ou uma instância de notebook SageMaker, que já vêm com credenciais AWS, SDK e Docker configurados.

Passo 1: Inicie o SageMaker Studio

No console SageMaker, escolha Studio no menu lateral. Crie um novo domínio (se necessário) e ative o acesso ao Docker via modo local. Lance um espaço JupyterLab com uma instância como ml.m5.2xlarge. Aumente os limites de cota para ml.g4dn.xlarge e ml.g5.xlarge para uso em processing jobs.

Passo 2: Clone o repositório

git clone https://github.com/aws-samples/sample-biofm-quickstart.git
cd sample-biofm-quickstart/models/boltzgen/inference/amazon-sagemaker/boltzgen-on-sagemaker-processing-job-cli

Passo 3: Construa e envie a imagem do container

A imagem empacota o BoltzGen com dependências e drivers GPU. Execute:

export AWS_REGION=us-east-1
./sagemaker/build_and_push.sh

Isso criará uma imagem no Amazon ECR.

Passo 4: Configure as credenciais

Copie o arquivo de ambiente e preencha com seus dados:

cp sagemaker/pipeline/.env.example sagemaker/pipeline/.env
vim sagemaker/pipeline/.env

Exemplo de .env:

AWS_REGION=us-east-1
AWS_S3_BUCKET=amzn-s3-demo-bucket
AWS_ROLE_ARN=arn:aws:iam::123456789012:role/SageMakerExecutionRole
AWS_IMAGE_URI=123456789012.dkr.ecr.us-east-1.amazonaws.com/boltzgen-sagemaker:latest

Passo 5: Execute um experimento rápido (processing job)

Com um único comando, você executa todas as etapas em um job:

python sagemaker/run_processing_job.py \
  --design-spec example/vanilla_protein/1g13prot.yaml \
  --s3-bucket amzn-s3-demo-bucket \
  --instance-type ml.g4dn.xlarge \
  --num-designs 10 \
  --budget 2 \
  --wait

Isso gera 10 designs intermediários, dos quais 2 são selecionados por diversidade e qualidade.

Passo 6: (Opcional) Execute um pipeline orquestrado

Para fluxos de produção, use o pipeline de 5 etapas com cache:

cd sagemaker/pipeline
python run_pipeline.py --config pipeline_config.yaml create
python run_pipeline.py --config pipeline_config.yaml run

Verifique o status:

python run_pipeline.py --region us-east-1 status --execution-arn <ARN>

Passo 7: Baixe os resultados

Para processing job:

aws s3 sync s3://amzn-s3-demo-bucket/boltzgen/output/boltzgen-TIMESTAMP ./results

Para pipeline:

aws s3 sync s3://amzn-s3-demo-bucket/boltzgen-pipeline/output/TIMESTAMP ./results

Validação e testes

Após o download, a estrutura de diretórios inclui:

  • final_ranked_designs/: designs finais ranqueados (arquivos .cif).
  • intermediate_designs/: estruturas intermediárias.
  • metrics/: métricas como RMSD, SASA e scores de contato.
  • job_metadata.json: parâmetros e status do job.

Verifique os arquivos .cif em final_ranked_designs/final_10_designs/. O arquivo all_designs_metrics.csv contém as métricas completas. Exemplo de saída para o alvo 1G13:

idRankdesign_ptmdesign_iptmfilter_rmsddelta_sasa
1g13prot_2410.7600.3042.24584.7
1g13prot_3720.7320.2751.98657.4

Valores mais altos de design_ptm e design_iptm indicam maior confiança estrutural e força de ligação. filter_rmsd menor indica melhor precisão após reenovelamento.

Problemas comuns e correções

  • Erro de cota insuficiente para GPU: Solicite aumento de limite no console AWS para as instâncias desejadas.
  • Falha ao construir imagem Docker: Verifique se o Docker está em execução e se você tem permissão para acessar o ECR.
  • Job trava ou não inicia: Confirme se a role IAM tem as permissões corretas (SageMakerFullAccess, S3, ECR).
  • Resultados não aparecem no S3: Verifique o bucket e o prefixo; o job pode ter falhado – consulte os logs no console SageMaker.

Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.