Segfault running screen.seqs in WDL workflow


I realize this might be a slightly niche issue, but I am struggling to figure out what the issue is and/or if anyone has run into something similar. In short, I am building a workflow in Workflow Description Language that largely follows the MiSeq SOP. In attempting to use screen.seqs on my unique and aligned sequences, I get a segfault and have no idea why. Earlier on, I was having a similar issue using screen.seqs to filter with maxambig, maxlength, and maxhomop, but I saw that those filters could be integrated within make.contigs, which avoided the segfault.

The odd thing is that when I run the exact same command via the command line, as I also have mothur installed locally, it runs with no issue. Clearly, something within the workflow is causing the segfault, but I can’t figure out what it is as my commands are structured identically between tasks and the only one I am having trouble with is screen.seqs.

I have copied two commands below for reference; align.seqs works perfectly, while screen.seqs gives me the error which I copied below the commands.

mothur "#set.dir(output=output_align_seqs_to_silva);align.seqs(fasta=~{unique_seqs_fasta}, reference=~{silva_v4_fasta});summary.seqs()"

mothur "#set.dir(output=output_screen_aligned_seqs); screen.seqs(fasta=~{aligned_unique_seqs}, count=~{unique_seqs_count_table}, start=1969, end=11551)"

call-screen_aligned_seqs/execution/script: line 25: 16 Segmentation fault mothur "#set.dir(output=output_screen_aligned_seqs); screen.seqs(fasta=stability.trim.contigs.unique.align, count=stability.trim.contigs.count_table, start=1969, end=11551)"

Any insight is greatly appreciated.

Hi Jesse -

Three quick thoughts…

  1. Can you double check that you are using the same version both cases?
  2. Is it possible that the workflow description language (WDL) is capping the amount of RAM you have access to?
  3. I don’t know WDL, but is it possible there’s a problem with your variable names? Could you try using the actual file names rather than the ~{...} syntax?


Hi Pat,

Thank you for the response.

  1. I am running 1.48.0 and confirmed this across both cases.
  2. I gave mothur 64GB of RAM across 32 cores and still got the error.
  3. I tried this to no avail.

Thankfully, I did figure out the error. When I ran screen.seqs, it was creating stability.trim.contigs.pick.count_table which I am assuming is an intermediate file used to update the count_table. I think what was happening was that this file was causing Cromwell (our workflow management system) to segfault as it did could not write this properly/to an allowed location. I ran the below and it worked.

screen.seqs(fasta=~{aligned_unique_seqs}, optimize=start-end-minlength-maxlength, criteria=90)

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.