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
| Item | Detalhes |
|---|---|
| Conta AWS ativa | Com 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 configurado | Execute aws configure com suas credenciais. |
| Função IAM para SageMaker | Crie 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 pip | Instale as bibliotecas: pip install boto3 sagemaker. |
| Docker | Para construir a imagem do container. |
| Bucket S3 | Crie 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-cliPasso 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.shIsso 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/.envExemplo 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:latestPasso 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 \
--waitIsso 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 runVerifique 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 ./resultsPara pipeline:
aws s3 sync s3://amzn-s3-demo-bucket/boltzgen-pipeline/output/TIMESTAMP ./resultsValidaçã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:
| id | Rank | design_ptm | design_iptm | filter_rmsd | delta_sasa |
|---|---|---|---|---|---|
| 1g13prot_24 | 1 | 0.760 | 0.304 | 2.24 | 584.7 |
| 1g13prot_37 | 2 | 0.732 | 0.275 | 1.98 | 657.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.
Links úteis
- Documentação do Amazon SageMaker AI
- Repositório BoltzGen no GitHub
- Amazon Elastic Container Registry
- Preços sob demanda do SageMaker
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



