Este proyecto permite realizar una comparación masiva de haplotipos de ADNmt a partir de un archivo .xlsx, teniendo en cuenta los rangos de lectura de las muestras, excluyendo de la comparación regiones homopoliméricas y teniendo en cuenta heteroplasmias.
El repositorio incluye una aplicación en Streamlit para su uso.
- Python 3.9 o superior
- pip actualizado (
pip install --upgrade pip) - Sistema operativo probado: Windows 10/11
- Crear y activar un entorno virtual (opcional pero recomendado):
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate- Instalar dependencias:
pip install -r requirements.txt- Ejecutar la app:
streamlit run app.pySi el comando anterior no abre la app, probar:
python -m streamlit run app.py- En el navegador (normalmente
http://localhost:8501), subí el archivo Excel y presioná "Ejecutar comparación". Podrás descargar los resultados en Excel.
- Columnas requeridas:
Sample Name,Rango de lectura. - Las mutaciones deben estar en columnas adicionales (por ejemplo
0, 1, 2, ...) con valores tipoA73G,C151S, etc. - El rango de lectura debe expresarse como:
- D-Loop completo:
16024-576 - HV1/HV2:
16024-16480/50-430(usar-para inicio/fin y/para separar regiones)
- D-Loop completo:
- La primera columna debe contener el nombre de las muestras y la segunda el rango de lectura.
En la barra lateral podés activar un filtro para exportar y visualizar solo los pares con una cantidad máxima de diferencias (≤ N). Si no activás el filtro, se mostrarán todos los pares calculados con su número de diferencias.
- Agrupa las columnas de mutaciones en una sola lista por muestra.
- Calcula el rango de lectura consenso entre pares (intersección de rangos).
- Calcula diferencias entre haplotipos, descartando regiones homopoliméricas y mutaciones fuera del rango.
- Considera heteroplasmias usando nomenclatura IUPAC (
R,Y,S,W,K,M). - Al exportar los resultados se puede elegir el numero máximo de diferencias.
La app genera una tabla con:
INDIVIDUO 1,INDIVIDUO 2: nombres de las muestras comparadas.Diferencias: conteo de diferenciasRango de lectura: rango que se tuvo en cuenta para hacer la comparacion.
Podés descargar los resultados en un archivo Resultados Comparación Masiva.xlsx.