Evo2: una herramienta de bioinformática de código abierto para modelar y diseñar genomas
Últimos recursos sobre IAPublicado hace 6 meses Círculo de intercambio de inteligencia artificial 2.9K 00
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.

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:
- Modelos de carga::
from evo2 import Evo2 model = Evo2('evo2_7b') # 使用 7B 参数模型
- 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 个核苷酸序列
- 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:
- Preparar los datos: Deposita las secuencias de referencia y variante en la lista.
- 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}")
- 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:
- Carga de modelos grandes::
model = Evo2('evo2_40b') # 需要多 GPU 支持
- Tratamiento de secuencias largas::
long_seq = "ATCG..." * 100000 # 模拟 100 万碱基序列 output = model.generate([long_seq], n_tokens=1000) print(output.sequences[0])
- 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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...