Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

Evo2: uma ferramenta de bioinformática de código aberto para apoiar a modelagem e o design de genomas

Introdução geral

O Arc Institute Evo 2 é um projeto de código aberto focado em modelagem e design de genoma, desenvolvido pelo Arc Institute, uma organização de pesquisa sem fins lucrativos com sede em Palo Alto, Califórnia, EUA, e lançado em colaboração com parceiros como a NVIDIA. O projeto cria modelos de base biológica capazes de trabalhar com DNA, RNA e proteínas por meio de técnicas de aprendizagem profunda de ponta para tarefas preditivas e generativas nas ciências da vida. O evo 2 é treinado em diversos dados genômicos de mais de 9 trilhões de nucleotídeos, tem até 40 bilhões de parâmetros e suporta comprimentos de contexto de até 1 milhão de bases. Seu código, dados de treinamento e pesos do modelo são totalmente de código aberto, hospedados no GitHub e projetados para acelerar a bioengenharia e a pesquisa médica. Tanto os pesquisadores quanto os desenvolvedores podem usar a ferramenta para explorar os mistérios do genoma e projetar novas sequências biológicas.

Evo2: uma ferramenta de bio-IA de código aberto para apoiar a modelagem e o design de genomas-1


 

Lista de funções

  • Oferece suporte à modelagem de genomas em todos os domínios da vida: permite a previsão e o design nos genomas de bactérias, archaea e eucariotos.
  • Capacidade de manipulação de sequências longas: manipula sequências de DNA de até 1 milhão de bases para tarefas de análise em contextos muito longos.
  • Geração e otimização de DNA: gere novas sequências de DNA com anotações de regiões codificadoras com base em sequências de entrada ou dicas de espécies.
  • Previsão de efeito de variante de amostra zero: prever o impacto biológico de variantes genéticas sem treinamento adicional, por exemplo, análise de efeito de variantes BRCA1.
  • Conjuntos de dados e modelos de código aberto: forneça modelos pré-treinados e conjuntos de dados do OpenGenome2 para apoiar o desenvolvimento secundário e a pesquisa.
  • Suporte à computação paralela de várias GPUs: aloque automaticamente vários recursos de GPU por meio da estrutura Vortex para aumentar a eficiência da computação em grande escala.
  • Integração com o NVIDIA BioNeMo: acesso contínuo à plataforma de biocomputação da NVIDIA para expandir os cenários de aplicativos.
  • Ferramentas de visualização e interpretação: combinadas com o Interpretive Visualiser da Goodfire, revelam os recursos e padrões biométricos reconhecidos pelo modelo.

 

Usando a Ajuda

Processo de instalação

Para usar o Evo 2 localmente, são necessários determinados recursos de computação e configuração do ambiente. Veja abaixo as etapas detalhadas de instalação:

1. preparação ambiental

  • sistema operacionalSe você tiver um sistema operacional Linux (por exemplo, Ubuntu) ou macOS, recomenda-se que os usuários do Windows instalem o WSL2.
  • Requisitos de hardwarePelo menos uma GPU NVIDIA (recomenda-se várias GPUs para suportar o modelo 40B) com um mínimo de 16 GB de memória de vídeo (por exemplo, A100 ou RTX 3090).
  • dependência de softwareVerifique se o Git, o Python 3.8+, o PyTorch (com suporte a CUDA) e o pip estão instalados.

2. clonagem do repositório de código

Abra um terminal e execute o seguinte comando para obter o código-fonte do Evo 2:

git clone --recurse-submodules git@github.com:ArcInstitute/evo2.git
cd evo2

Atenção:--recurse-submodules Certifique-se de que todos os submódulos também tenham sido baixados.

3. instalação de dependências

Execute-o no diretório raiz do projeto:

pip install .

Se você tiver problemas, tente instalar a partir do Vortex (consulte o LEIAME do GitHub para obter detalhes). Quando a instalação estiver concluída, execute os testes para verificar:

python -m evo2.test

Se a saída não relatar erros, a instalação foi bem-sucedida.

4. download de modelos pré-treinados

O Evo 2 está disponível em uma variedade de versões de modelos (por exemplo, parâmetros 1B, 7B, 40B) que podem ser baixados do Hugging Face ou das versões do GitHub. Exemplo:

wget https://huggingface.co/arcinstitute/evo2_7b/resolve/main/evo2_7b_base.pt

Coloque os arquivos de modelo em um diretório local para carregamento posterior.

Como usar

Depois de instaladas, as funções principais do Evo 2 podem ser chamadas por meio de scripts Python. Abaixo está um procedimento detalhado para as principais funções:

Função 1: Gerar sequência de DNA

O Evo 2 pode gerar uma sequência de continuação a partir de um fragmento de DNA de entrada. O procedimento é o seguinte:

  1. Modelos de carregamento::
    from evo2 import Evo2
    model = Evo2('evo2_7b') # usando o modelo de parâmetro 7B
    
  2. Digite os prompts e gere::
    prompt = ["ACGT"] # sequência de DNA inicial de entrada
    output = model.generate(prompt_seqs=prompt, n_tokens=400, temperature=1.0, top_k=4)
    print(output.sequences[0]) # Saída gerou 400 sequências de nucleotídeos
    
  3. Interpretação dos resultadosSequências geradas: as sequências geradas podem ser usadas para análises biológicas posteriores, com o parâmetro de temperatura controlando a estocasticidade e top_k limitando o intervalo de amostragem.

Função 2: Previsão de efeitos de variantes de amostra zero

O gene BRCA1 foi usado como exemplo para prever o impacto biológico das variantes:

  1. Preparar dadosDepósito: deposita as sequências de referência e variantes na lista.
  2. Previsões operacionais::
    ref_seqs = ["ATCG..."]  Sequência de referência do #
    var_seqs = ["ATGG..."]  Sequências de variantes do #
    ref_scores = model.score_sequences(ref_seqs)
    var_scores = model.score_sequences(var_seqs)
    print(f "Probabilidade da referência: {ref_scores}, Probabilidade da variante: {var_scores}")
    
  3. análiseComparação das diferenças nas pontuações para avaliar o possível impacto das variantes na função.

Função 3: Processamento de sequências longas

Para sequências muito longas, o Evo 2 suporta carregamento e computação em partes:

  1. Carregando modelos grandes::
    model = Evo2('evo2_40b') # requer suporte a várias GPUs
    
  2. Manuseio de sequências longas::
    long_seq = "ATCG..." * 100000 # modelando uma sequência de 1 milhão de bases
    output = model.generate([long_seq], n_tokens=1000)
    print(output.sequences[0])
    
  3. advertênciaNo momento, a propagação direta de sequências longas pode ser lenta, e é recomendável otimizar a configuração do hardware ou usar o método de solicitação do professor (solicitação do professor).

Função 4: Conjuntos de dados e desenvolvimento secundário

  • Obtendo o conjunto de dadosFaça o download do conjunto de dados do OpenGenome2 (no formato FASTA ou JSONL) em Hugging Face.
  • Treinamento personalizadoModifique a arquitetura do modelo ou ajuste os parâmetros com base na estrutura do Savanna para necessidades específicas de pesquisa.

Dicas e precauções de operação

  • Configuração de várias GPUsSe estiver usando um modelo 40B, você precisa garantir que o Vortex reconheça corretamente várias GPUs usando a opção nvidia-smi Verifique a alocação de recursos.
  • otimização do desempenhoProcessamento de sequências longas reduz temperatura para reduzir a carga computacional.
  • Suporte à comunidadePerguntas: As perguntas podem ser direcionadas ao quadro de problemas do GitHub, onde a equipe do Arc Institute e a comunidade estão disponíveis para ajudar.

Essas etapas o ajudarão a começar a trabalhar com o Evo 2, seja para gerar sequências de DNA ou analisar variantes genéticas, e você poderá fazer isso de forma eficiente.

Conteúdo3
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Evo2: uma ferramenta de bioinformática de código aberto para apoiar a modelagem e o design de genomas

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil