Parte 3: Organización de entradas¶
Traducción asistida por IA - más información y sugerencias
En la Parte 2, ejecutamos molkart con múltiples parámetros en la línea de comandos. Ahora aprenderemos dos enfoques mejores para gestionar entradas: archivos de parámetros y hojas de muestras.
1. Uso de archivos de parámetros¶
1.1. El problema con líneas de comandos largas¶
Recordemos nuestro comando de la Parte 2:
nextflow run ./molkart \
--input 'data/samplesheet.csv' \
--mindagap_tilesize 90 \
--mindagap_boxsize 7 \
--mindagap_loopnum 100 \
--clahe_pyramid_tile 368 \
--segmentation_method "cellpose" \
--outdir results
Esto funciona, pero es difícil de reproducir, compartir o modificar. ¿Qué pasa si necesita ejecutar el mismo análisis nuevamente el próximo mes? ¿Qué pasa si un colaborador quiere usar exactamente su configuración?
1.2. Solución: Use un archivo de parámetros¶
Cree un archivo llamado params.yaml:
input: "data/samplesheet.csv"
outdir: "results"
mindagap_tilesize: 90
mindagap_boxsize: 7
mindagap_loopnum: 100
clahe_pyramid_tile: 368
segmentation_method: "cellpose"
Ahora su comando se convierte en:
¡Eso es todo! El archivo de parámetros documenta su configuración exacta y facilita la reejecución o el compartir.
1.3. Anulación de parámetros¶
Todavía puede anular parámetros específicos desde la línea de comandos:
nextflow run ./molkart -params-file params.yaml --segmentation_method "stardist" --outdir stardist_results -resume
La línea anterior cambia el segmentation_method a stardist y el nombre de --outdir a stardist_results en lugar de los parámetros en el archivo params.yaml.
Además, puede ver que la bandera -resume nos permitió reutilizar los resultados de preprocesamiento de la ejecución anterior, ahorrando tiempo.
Puede usar este patrón para probar rápidamente diferentes variaciones del pipeline.
Conclusión¶
Los archivos de parámetros hacen que sus análisis sean reproducibles y fáciles de compartir. Úselos para cualquier trabajo de análisis real.
¿Qué sigue?¶
Aprenda cómo las hojas de muestras organizan información sobre múltiples muestras.
2. El patrón de hoja de muestras¶
2.1. ¿Qué es una hoja de muestras?¶
Una hoja de muestras es un archivo CSV que describe sus muestras de entrada. Cada fila es una muestra, y las columnas especifican los archivos y metadatos para esa muestra.
Veamos la hoja de muestras que hemos estado usando:
sample,nuclear_image,spot_table,membrane_image
mem_only,https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/nuclear.tiff,https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/spots.txt,https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/membrane.tiff
Las columnas son:
sample: Identificador único de la muestranuclear_image: Imagen de tinción nuclear (TIFF)spot_table: Puntos de transcripción (TXT)membrane_image: Imagen de tinción de membrana (TIFF, opcional)
2.2. Rutas de archivos¶
Las hojas de muestras aceptan múltiples tipos de rutas:
- URLs: Nextflow descarga automáticamente (como se muestra arriba)
- Rutas locales:
data/nuclear.tiffo/absolute/path/to/nuclear.tiff - Almacenamiento en la nube:
s3://bucket/nuclear.tiff,gs://bucket/nuclear.tiff,az://container/nuclear.tiff
Puede mezclar tipos de rutas en la misma hoja de muestras.
2.3. Creación de su propia hoja de muestras¶
Primero, descarguemos los archivos de datos de prueba localmente:
cd /workspaces/training/nf4-science/imaging/data
curl -O https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/nuclear.tiff
curl -O https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/spots.txt
curl -O https://raw.githubusercontent.com/nf-core/test-datasets/molkart/test_data/input_data/membrane.tiff
cd ..
Ahora modifiquemos la hoja de muestras para hacer referencia a estos archivos locales:
sample,nuclear_image,spot_table,membrane_image
mem_only,data/nuclear.tiff,data/spots.txt,data/membrane.tiff
Advertencia
Observe que las rutas en la hoja de muestras son relativas a donde ejecuta Nextflow, no a donde se encuentra la hoja de muestras.
Finalmente, ejecutemos nf-core/molkart una vez más con la hoja de muestras con rutas de archivos locales:
nextflow run ./molkart -params-file params.yaml -resume
Como puede ver, Nextflow ejecuta esta ejecución de manera similar a cuando los archivos se descargaron desde Github. Esta es una de las grandes características de Nextflow, organiza los datos adecuadamente para usted, independientemente de dónde se encuentren.
Conclusión¶
Las hojas de muestras organizan conjuntos de datos con múltiples muestras de una manera que le permite definir explícitamente sus metadatos junto con las rutas de archivos. La mayoría de los pipelines de nf-core usan este patrón.
¿Qué sigue?¶
Ahora que hemos cubierto las entradas, exploremos cómo configurar pipelines de Nextflow para diferentes entornos de cómputo.