Nf-core out of memory

Bonjour,

Je cherche à faire tourner un workflow nf-core sur un gros jeu de données (le génome de l’axolotl, 28Gb au compteur…) et je me retrouve avec des erreurs out-of-memory.
J’ai essayé de spécifier un fichier de configuration pour augmenter la mémoire du process en question, mais le workflow ne prends pas le fichier de configuration en question.

Le fichier de configuration en question :

process {
    withName: 'NFCORE_RNASEQ:RNASEQ:PREPARE_GENOME:STAR_GENOMEGENERATE' {
        memory = 250.GB
    }
    withName: 'NFCORE_RNASEQ:RNASEQ:PREPARE_GENOME:SALMON_INDEX' {
	memory = 250.GB
	cpus = 30
    }
    withName: 'NFCORE_RNASEQ:RNASEQ:ALIGN_STAR:STAR_ALIGN' {
        memory = 250.GB
    }
    withName: 'NFCORE_RNASEQ:RNASEQ:FASTQ_SUBSAMPLE_FQ_SALMON:SALMON_QUANT' {
        memory = 250.GB
    }
}

La ligne de code correspondante dans mon fichier sbatch :

srun nextflow run nf-core/rnaseq -profile ipop_up -r 3.18.0 -c /shared/home/clement/configFiles/nf-core/axolotl.config \

Quelques lignes du fichier log montrant que le fichier de configuration n’a pas été pris en compte :

Core Nextflow options
  revision                  : 3.18.0
  runName                   : angry_legentil
  containerEngine           : singularity
  launchDir                 : /shared/projects/evol_stem_regen/Projets/2022_EvolutionRegeneration/04_results/RNAseq/ambystoma_mexicanum/Natarajan_2018_Circulation
  workDir                   : /shared/projects/evol_stem_regen/Projets/2022_EvolutionRegeneration/04_results/RNAseq/ambystoma_mexicanum/Natarajan_2018_Circulation/work
  projectDir                : /shared/home/clement/.nextflow/assets/nf-core/rnaseq
  userName                  : clement
  profile                   : ipop_up
  configFiles               : 

Si quelqu’un peut éclairer ma lanterne, ce serait super, merci !
Bonne journée
Yves

Hello,

Je ne connais pas nextflow mais quelles sont les instructions données à slurm ? Si tu ne spécifies rien au début de ton sbatch il ne va allouer qu’un seul cpu et 2GB de ram.

Salut,

Avec nf-core tu peux spécifier un fichier “profile” qui va 1) envoyer chaque étape du workflow dans un job dédié et 2) spécifier les caractéristiques du job.
Pour iPOP-UP, le fichier est là : nf-core/configs: ipop_up
Les 100Go de RAM sont parfois insuffisants…

Juste une supposition mais peut-être qu’il faut utiliser -c sans -profile.

Salut Yves,
effectivement tu peux modifier les resources dans la limite des valeurs qu’on a mise dans la config ipop_up, soit 100 GB de RAM (voir configs/conf/ipop_up.config at master · nf-core/configs · GitHub). Pour outrepasser cette limite, il faut que tu ajoutes à ton fichier de configuration :

process {
    resourceLimits = [
        memory: 250.GB,
    ]
}

La doc est si besoin, mais c’est pas évident de s’y retrouver…
Bon courage!
Magali

Merci Magali,

Ça marche en lançant le job sur un nœud dédié (avec Singularity), mais j’ai d’autres problèmes en aval…

Ça va finir par fonctionner un jour…

@+
Y