Skip to content

Extraction memory usage on HPC #25

@bmichanderson

Description

@bmichanderson

Hi Edgardo,

I'm trying to run Captus on a supercomputer and have run into some odd behaviour during step 3 (extraction). Despite providing 128 cores and 230GB of RAM, the step immediately fails due to an OOM error. When I run with --debug this doesn't happen, so it seems to relate to the parallelisation(?). I have 76 assemblies using skimming data (assembled with Captus), and I get the error when running 32 concurrent and 16 concurrent (c. 7 and 14 GB RAM per extraction).

Here's a portion of the log file:

           Captus version: v1.4.1
                  Command: /opt/conda/envs/captus_env/bin/captus extract --captus_assemblies_dir 02_assemblies --out ./03_extractions/ --nuc_refs /scratch/pawsey0220/anderson/Adenanthos/captus/HERB_targets_ref_prot.fasta --nuc_min_score 0.2 --nuc_min_identity 80 --nuc_min_coverage 20 --ram 235 --threads 128 --concurrent 16
                       OS: Linux-5.14.21-150500.55.83_13.0.62-cray_shasta_c-x86_64-with-glibc2.36
                     Host: nid002821
                 Max. RAM: 235.0GB (out of 250.3GB)
             Max. Threads: 128 (out of 256)

             Dependencies:
                Scipio   : v1.4.1 OK
                ├─BioPerl: v1.7.8 OK
                └─YAML   : v1.30 OK
                BLAT     : v37x1 OK
                MMseqs2  : not used
                MAFFT    : not used

         Python libraries:
                    numpy: v2.2.5 OK
                   pandas: v2.2.3 OK
                   plotly: v6.0.1 OK

    Captus assemblies dir: /scratch/pawsey0220/anderson/Adenanthos/captus/02_assemblies
                           VALID Captus assemblies directory with 76 samples and 76 'assembly.fasta' files

   Total assemblies found: 76

         Output directory: /scratch/pawsey0220/anderson/Adenanthos/captus/03_extractions
                           Output directory successfully created



Protein and DNA Markers Extraction from FASTA assemblies (2025-05-13 16:39:48)
    Now Captus will search within your FASTA assemblies for the set of
reference proteins provided by '--nuc_refs', '--ptd_refs', and/or '--mit_refs'
and extract the sequences both in nucleotide and translated to aminoacid using
the specified '--nuc_transtable', '--ptd_transtable' and '--mit_transtable'
respectively.
    Additionally, miscellaneous DNA references provided with '--dna_refs' will
also be extracted.

Verifying protein reference sets...

          PROTEIN OPTIONS:
  Max. loci for Scipio x2: 2000
  Predict dubious introns: False
   Concurrent extractions: 16
       RAM per extraction: 14.7GB
   Threads per extraction: 8

         Nuclear proteins:
                reference: /scratch/pawsey0220/anderson/Adenanthos/captus/HERB_targets_ref_prot.faa
           reference info: 284 loci, 284 sequences (loci names found, detected a single sequence per locus)
        translation table: 1
                min_score: 0.2
             min_identity: 80.0
             min_coverage: 20.0
          depth_tolerance: 2.0 (min = 10^(log(depth of the contig with best hit in locus) / 2.0))

      Plastidial proteins:
                reference: not used

   Mitochondrial proteins:
                reference: not used


MISCELLANEOUS DNA OPTIONS:
                reference: not used


           OUTPUT OPTIONS:
 Ignore depth of coverage: False
 Disable contig stitching: False
            Max. paralogs: -1 (Keep all paralogs)
        Paralog tolerance: 5
 Max. separate loci files: 0 (Do not write separate loci files per sample)
          Overwrite files: False
           Keep all files: False

       Samples to process: 76
   Extractions to process: 76 protein and 0 nucleotide

         Nuclear proteins: /scratch/pawsey0220/anderson/Adenanthos/captus/03_extractions/[Sample_name]__captus-ext/01_coding_NUC
     Annotated assemblies: /scratch/pawsey0220/anderson/Adenanthos/captus/03_extractions/[Sample_name]__captus-ext/06_assembly_annotated
                           (These output directories will be created for each sample)

 Paths to references used: /scratch/pawsey0220/anderson/Adenanthos/captus/03_extractions/captus-extract_refs.json

Extracting protein-coding markers with Scipio:
  0%|                                            | 0/76 [00:00<?, ?extraction/s]slurmstepd: error: Detected 1 oom_kill event in StepId=24882035.0. Some of the step tasks have been OOM Killed.
srun: error: nid002821: task 0: Out Of Memory
srun: Terminating StepId=24882035.0

Any ideas? Is it possible the Scipio step is requesting more memory than available?

Cheers,
Ben

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions