Nikos Tsardakas Renhuldt
10/05/2026, 11:12 AMNote: detected page-faults (disk-thrashing) - GX may run slowly. from FCS-GX. Has anyone else had luck running FCS-GX on Dardel?Mahesh Binzer-Panchal
10/05/2026, 11:39 AMNikos Tsardakas Renhuldt
10/05/2026, 12:20 PMresources: tmpdir=/tmp, disk_mb=3875, disk=3.88 GB, disk_mib=3696, mem_mb=901120, mem=901.12 GB, mem_mib=859375, slurm_account=naiss2026-3-456, slurm_partition=main, runtime=1440, slurm_extra=--mail-type=ALL
I'm very open to running this through other tools than GEP2. Do you have a recommended way of running this @Mahesh Binzer-Panchal?Mahesh Binzer-Panchal
10/05/2026, 12:26 PMRAM_DB_DIR="" should be set from the code there? That's basically the key.
However, dardel is also notoriously slow lately with disk I/O. I've had jobs being resubmitted over months because of disk access issues, login reboots, and such.Nikos Tsardakas Renhuldt
10/05/2026, 12:34 PMMahesh Binzer-Panchal
10/05/2026, 12:35 PM/dev/shm/gxdb so point somewhere on /dev/shm/Mahesh Binzer-Panchal
10/05/2026, 12:35 PM/dev/shm/Nikos Tsardakas Renhuldt
10/05/2026, 12:36 PMNikos Tsardakas Renhuldt
10/05/2026, 12:37 PMMahesh Binzer-Panchal
10/05/2026, 12:39 PMMahesh Binzer-Panchal
10/05/2026, 12:46 PM#!/usr/bin/env nextflow
// Standalone wrapper around FCSGX_RUNGX that stages the GX database into a RAM disk.
//
// nextflow run <http://rungx_wrapper.nf|rungx_wrapper.nf> -c rungx_wrapper.config \
// --assembly 'asm/*.fasta.gz' --taxid 9606 --gxdb /path/to/gxdb
//
include { FCSGX_RUNGX } from "./modules/local/fcsgx/rungx"
params.assembly = null // FASTA file or glob
params.taxid = null // NCBI taxid of the sample
params.gxdb = null // on-disk GX database directory (source for the RAM-disk copy)
params.ramdisk_path = '/dev/shm/gxdb' // destination in RAM; removed when the task exits
params.outdir = 'results'
workflow {
main:
if( !params.assembly || !params.taxid || !params.gxdb ) {
error "Required: --assembly, --taxid, --gxdb"
}
ch_assembly = channel.fromPath( params.assembly, checkIfExists: true )
.map { fasta -> [ [ id: fasta.name.replaceFirst(/\.(fa|fasta|fna)(\.gz)?$/, '') ], params.taxid, fasta ] }
ch_gxdb = channel.fromPath( params.gxdb, checkIfExists: true, type: 'dir' ).collect()
FCSGX_RUNGX( ch_assembly, ch_gxdb, params.ramdisk_path )
publish:
reports = FCSGX_RUNGX.out.fcs_gx_report
taxonomy = FCSGX_RUNGX.out.taxonomy_report
hits = FCSGX_RUNGX.out.hits
}
output {
reports { path 'fcsgx' }
taxonomy { path 'fcsgx' }
hits { path 'fcsgx' }
}
config:
outputDir = params.outdir
process {
withName: 'FCSGX_RUNGX' {
// One task at a time: all tasks share the single RAM-disk copy of the DB.
maxForks = 1
cpus = 20
memory = 600.GB // must cover the ~470 GB DB plus run_gx working memory
time = 1.h
}
}Nikos Tsardakas Renhuldt
10/05/2026, 12:47 PMNikos Tsardakas Renhuldt
10/06/2026, 8:00 AMFAST_TEMP_DIR was set to /dev/shm resolved this issue for me. Thank you for this input!