Evo2: una herramienta de bioinformática de código abierto para modelar y diseñar genomas

Introducción general

Arc Institute Evo 2 es un proyecto de código abierto centrado en la modelización y el diseño del genoma, desarrollado por Arc Institute, una organización de investigación sin ánimo de lucro con sede en Palo Alto, California (EE.UU.), y puesto en marcha en colaboración con socios como NVIDIA. El proyecto construye modelos de base biológica capaces de trabajar con ADN, ARN y proteínas mediante técnicas punteras de aprendizaje profundo para tareas predictivas y generativas en las ciencias de la vida. evo 2 se entrena con datos genómicos diversos de más de 9 billones de nucleótidos, tiene hasta 40.000 millones de parámetros y admite longitudes de contexto de hasta 1 millón de bases. Su código, los datos de entrenamiento y los pesos del modelo son de código abierto, están alojados en GitHub y se han diseñado para acelerar la investigación médica y en bioingeniería. Tanto investigadores como desarrolladores pueden utilizar la herramienta para explorar los misterios del genoma y diseñar nuevas secuencias biológicas.

Evo2:支持基因组建模与设计的开源生物AI工具

 

Lista de funciones

  • Admite el modelado de genomas en todos los dominios de la vida: permite la predicción y el diseño en los genomas de bacterias, arqueas y eucariotas.
  • Capacidad de manipulación de secuencias largas: manipula secuencias de ADN de hasta 1 millón de bases para tareas de análisis en contextos muy largos.
  • Generación y optimización de ADN: Genere nuevas secuencias de ADN con anotaciones de regiones codificantes basadas en secuencias de entrada o en sugerencias de especies.
  • Predicción del efecto de variantes de muestra cero: Predecir el impacto biológico de variantes genéticas sin entrenamiento adicional, por ejemplo, análisis del efecto de variantes BRCA1.
  • Conjuntos de datos y modelos de código abierto: proporcionar modelos preentrenados y conjuntos de datos OpenGenome2 para apoyar el desarrollo secundario y la investigación.
  • Soporte de cálculo paralelo multi-GPU: el marco de trabajo de Vortex asigna automáticamente múltiples recursos de GPU para mejorar la eficiencia del cálculo a gran escala.
  • Integración con NVIDIA BioNeMo: acceso transparente a la plataforma de biocomputación de NVIDIA para ampliar los escenarios de aplicación.
  • Herramientas de visualización e interpretación: en combinación con el visualizador interpretativo de Goodfire, revela las características biométricas y los patrones reconocidos por el modelo.

 

Utilizar la ayuda

Proceso de instalación

Para utilizar Evo 2 localmente, se requieren ciertos recursos informáticos y una configuración del entorno. A continuación se detallan los pasos de instalación:

1. Preparación medioambiental

  • sistema operativoSe recomienda Linux (por ejemplo, Ubuntu) o macOS; los usuarios de Windows deben instalar WSL2.
  • requisitos de hardwareAl menos 1 GPU NVIDIA (se recomiendan varias GPU para el modelo 40B) con un mínimo de 16 GB de memoria de vídeo (por ejemplo, A100 o RTX 3090).
  • dependencia del softwareAsegúrese de que Git, Python 3.8+, PyTorch (con soporte CUDA) y pip están instalados.

2. Clonación del repositorio de código

Abre un terminal y ejecuta el siguiente comando para obtener el código fuente de Evo 2:

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

Atención:--recurse-submodules Asegúrese de que también se descargan todos los submódulos.

3. Instalación de dependencias

Ejecútelo en el directorio raíz del proyecto:

pip install .

Si tienes problemas, prueba a instalar desde Vortex (consulta el LÉEME de GitHub para más detalles). Una vez completada la instalación, ejecuta las pruebas para verificar:

python -m evo2.test

Si la salida no muestra errores, la instalación se ha realizado correctamente.

4. Descarga de modelos preentrenados

Evo 2 está disponible en varias versiones de modelo (por ejemplo, parámetros 1B, 7B, 40B) que pueden descargarse de Hugging Face o GitHub Releases. Ejemplo:

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

Coloque los archivos del modelo en un directorio local para su posterior carga.

Cómo utilizarlo

Una vez instalado, las funciones principales de Evo 2 pueden invocarse mediante scripts de Python. A continuación se muestra un flujo detallado de cómo funcionan las funciones principales:

Función 1: Generación de secuencias de ADN

Evo 2 puede generar una secuencia de continuación a partir de un fragmento de ADN de entrada. El procedimiento es el siguiente:

  1. Modelos de carga::
    from evo2 import Evo2  
    model = Evo2('evo2_7b')  # 使用 7B 参数模型
    
  2. Introducir indicaciones y generar::
    prompt = ["ACGT"]  # 输入初始 DNA 序列  
    output = model.generate(prompt_seqs=prompt, n_tokens=400, temperature=1.0, top_k=4)  
    print(output.sequences[0])  # 输出生成的 400 个核苷酸序列
    
  3. Interpretación de los resultadosLas secuencias generadas pueden utilizarse para análisis biológicos posteriores, con el parámetro de temperatura controlando la estocasticidad y top_k limitando el rango de muestreo.

Función 2: Predicción de efectos de variantes de muestra cero

El gen BRCA1 se utilizó como ejemplo para predecir el impacto biológico de las variantes:

  1. Preparar los datos: Deposita las secuencias de referencia y variante en la lista.
  2. Previsiones operativas::
    ref_seqs = ["ATCG..."]  # 参考序列  
    var_seqs = ["ATGG..."]  # 变体序列  
    ref_scores = model.score_sequences(ref_seqs)  
    var_scores = model.score_sequences(var_seqs)  
    print(f"Reference likelihood: {ref_scores}, Variant likelihood: {var_scores}")
    
  3. análisisComparar las diferencias en las puntuaciones para evaluar el impacto potencial de las variantes en la función.

Función 3: Procesamiento de secuencias largas

Para secuencias muy largas, Evo 2 admite la carga y el cálculo por trozos:

  1. Carga de modelos grandes::
    model = Evo2('evo2_40b')  # 需要多 GPU 支持
    
  2. Tratamiento de secuencias largas::
    long_seq = "ATCG..." * 100000  # 模拟 100 万碱基序列  
    output = model.generate([long_seq], n_tokens=1000)  
    print(output.sequences[0])
    
  3. advertenciaActualmente, la propagación hacia delante de secuencias largas puede ser lenta, por lo que se recomienda optimizar la configuración del hardware o utilizar el método de indicación al profesor (teacher prompting).

Función 4: Conjuntos de datos y desarrollo secundario

  • Obtener el conjunto de datosDescargue el conjunto de datos OpenGenome2 (en formato FASTA o JSONL) de Hugging Face.
  • Formación a medidaModificar la arquitectura del modelo o afinar los parámetros basados en el marco de Savanna para necesidades de investigación específicas.

Consejos y precauciones de uso

  • Configuración multi-GPUSi estás utilizando un modelo 40B, debes asegurarte de que Vortex reconoce correctamente múltiples GPUs utilizando la opción nvidia-smi Compruebe la asignación de recursos.
  • optimización del rendimiento: El procesamiento de secuencias largas reduce temperature para reducir la carga computacional.
  • Apoyo comunitarioPreguntas: Las preguntas pueden dirigirse al tablón de problemas de GitHub, donde el equipo del Instituto Arc y la comunidad están disponibles para ayudar.

Estos pasos te pondrán en marcha con Evo 2, tanto si estás generando secuencias de ADN como analizando variantes genéticas, y podrás hacerlo de forma eficiente.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...