Hi, I am trying to run Metadenovo on Dardel. I am ...
# helpdesk-hpc-sweden
l
Hi, I am trying to run Metadenovo on Dardel. I am stuck at the megahit assembly step getting the following error: Caused by: Process
NFCORE_METATDENOVO:METATDENOVO:MEGAHIT_INTERLEAVED (megahit_assembly)
terminated for an unknown reason -- Likely it has been terminated by the external system. So I was trying to include a config file as I thought it might be similar to the problem I have read here before. There I specified: process { withName: NFCORE_METATDENOVOMETATDENOVOMEGAHIT_INTERLEAVED { memory = 500.GB time = 2.d } but I still get the same error at the end. Is there anything I should change? Or did I do something wrong here? Thanks for your help!
p
To start with, where did you put it, how do you make sure it's used. And that block is unmatched, is it copy/pasted?
l
HI, my whole config file is the following: params { max_memory = 500.GB max_cpus = 20 max_time = 7.d } process { withName: NFCORE_METATDENOVOMETATDENOVOMEGAHIT_INTERLEAVED { memory = 500.GB time = 2.d } withName: TRANSRATE { errorStrategy = 'ignore' } withName: BBMAP_ALIGN { errorStrategy = 'ignore' } } Not sure if the params is a problem if I state later the processes? And thats how i put it: nextflow run nf-core/metatdenovo -profile pdc_kth --input samples_metatdenovo.csv -params-file params.yaml -r 1.1.1 --assembler megahit --orf_caller prokka --eggnog --eukulele_db gtdb -c nextflow.config -resume
p
Okay, should probably be good. You can also check the jobs once submitted. I don't think there's any benefit to setting two days rather than seven either, so why not bump it?
l
Will do but still got the same error after I tried that set up. I will run it now one more time without the 2 days and see what will happen. Do you mean checking jobs by squeue?
p
scontrol show job=...
to see that it has the expected requested runtime.
l
Is the requested runtim the TimeLimit or the AccrueTime? I have for one of the samples running megahit the following: JobState=RUNNING Reason=None Dependency=(null) Requeue=0 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0 RunTime=010855 TimeLimit=040000 TimeMin=N/A SubmitTime=2025-07-31T111136 EligibleTime=2025-07-31T111136 AccrueTime=2025-07-31T111136 StartTime=2025-07-31T111149 EndTime=2025-07-31T151149 Deadline=N/A SuspendTime=None SecsPreSuspend=0 LastSchedEval=2025-07-31T111149 Scheduler=Backfill So far half of them are running while the other half is Pending with the Nodelist on: (AssocGrpCPURunMinutesLimit)
p
It's
TimeLimit
so if it's at 4 hours your configuration is not being applied.
l
Ah ok, is there anything I can do, or not do that it will be applied?
p
One would hope. I don't recall the syntax for
withName
exactly, it may be that quotes are required when having colons. One trick otherwise is to switch to a regexp, e.g.
".*:MEGAHIT_INTERLEAVED"
. To see if it helps it may be useful to make it fail immediately, e.g. by pointing to a non-existinf url for container.
l
Got a TimeLimit=160000, still Pending. since its 4x the hours from before, it should be applied now, no? I have tried now only MEGAHIT_INTERLEAVED already before I read your post.
p
Since it's not what's shown above, I'd rather suspect it's extended because of retries and your config didn't apply.
Note that I haven't suggested using only the process name.
l
Ah ok, yes I know it wasnt what you suggested, it was a longer googling search and try out. But then I will try your suggestion
Rerun with the e.g.
".*:MEGAHIT_INTERLEAVED"
gives also a TimeLimit=160000
p
When testing now, both
"NFCORE_METATDENOVO:METATDENOVO:MEGAHIT_INTERLEAVED"
and
".*:MEGAHIT_INTERLEAVED"
for
withName:
work.
NFCORE_METATDENOVO:METATDENOVO:MEGAHIT_INTERLEAVED
(without quotes) does not. Are you sure you were looking at the right jobs? Alternatively, had those bits in the config actually seen by nextflow And just to mention it,
-c
there isn't really needed since
nextflow.config
will be used anyway if it exists. It does change its priority somewhat if there are conflicts (as mentioned in another thread), but that's not normally the case, and I can definitely override these things without using
-c
here.
l
Mhm I think so that I was looking at the right jobs. But now I am not sure. I do have 2 jobs (for both projects running for metadenovo) currently "running" which are not running anymore as I got the "(AssocGrpCPURunMinutesLimit)". When I was checking my screen session for both jobs, I get that error :[4e/c570aa] NOTE: Process
NFCORE_METATDENOVO:METATDENOVO:MEGAHIT_INTERLEAVED (megahit_assembly)
terminated with an error exit status (140) -- Execution is retried (1)", where in the overview about the different steps there is the information; "[eb/adc14d] NFCORE_METATDENOVOMETATDENOVOMEGAHIT_INTERLEAVED (megahit_assembly) | 1 of 2, failed: 1, retries: 1" I guess it ran out of hours and now is stuck? So it seems it does not use the asked time in the config.file even though it seems to use it?
p
I don't follow, it says it's retrying so why do you think it's stuck. Or do you just mean that you'll need to wait before it proceeds? I don't understand the other bit either though. but same as you can look at the jobs you can look at the top of
.command.run
in the task directory.
But "even though it seems to use it" I don't understand.
l
Hi, I was thinking it as it has been in this state since saturday but maybe I just need to wait longer. I meant that when I try to change the process name, one time it directly said it cannot use the config file so I thought it does use it in the other tries. But you mentioned before the 160000 timeLimit are not what I asked for and are rather due to several retries. I will wait for the step now to see if it will do a retry again.
p
Ah. But yes, it's totally possible to have valid configurations that do nothing. I don't know what it said when it couldn't use the config file, but that would typically mean either the file you asked it to use didn't exist or had syntax errors. You can either check the job as queued if it follow your desired configuration (along with the other bits of the job to be sure it's the right one?) or check the task work directory.