shhh.flows Segmentation fault


I have been trying to denoise some FLX+ data so flow order B:

${MOTHUR} "#trim.flows(flow=${BASE}.flow, oligos=${BASE}.oligos, bdiffs=2, pdiffs=4, processors=${PROCESSORS}, order=${FLOWORDER})"
#mpirun -np ${PROCESSORS} ${MOTHURMPI} "#shhh.flows(file=${BASE}.flow.files, order=${FLOWORDER})"

Most of the plates finished fine, however a few plates gave me:

Clustering flowgrams…
Reading matrix: ||||||||||||||||||||||||||||||||||||||||||||||||||||

Denoising flowgrams…
iter maxDelta nLL cycletime
[biocomp-0-10:79344] *** Process received signal ***
[biocomp-0-10:79344] Signal: Segmentation fault (11)
[biocomp-0-10:79344] Signal code: Address not mapped (1)
[biocomp-0-10:79344] Failing at address: 0x19701bd0
[biocomp-0-10:79344] [ 0] /lib64/ [0x3981e0f4a0]
[biocomp-0-10:79344] [ 1] mothur(_ZN13ShhherCommand19calcCentroidsDriverEii+0x3bc) [0xcc062c]
[biocomp-0-10:79344] [ 2] mothur(_ZN13ShhherCommand7executeEv+0x2a4e) [0xce8d5e]
[biocomp-0-10:79344] [ 3] mothur(_ZN12ScriptEngine8getInputEv+0x934) [0x763314]
[biocomp-0-10:79344] [ 4] mothur(main+0x140c) [0x99a7cc]
[biocomp-0-10:79344] [ 5] /lib64/ [0x398121ecdd]
[biocomp-0-10:79344] [ 6] mothur() [0x494839]
[biocomp-0-10:79344] *** End of error message ***

After that I started running shhh.flows on each flow file separately sometimes if the file caused a seg fault I could re-run it again and no errors.
But I am left with a few flow files that keep causing problems. Any suggestions?


Can you please post the actual commands that are going into mothur? Also, mpi provides no benefit over the typical processors approach and may even cause more problems.

Sorry here:

mothur "#sffinfo(sff=H2Y6SP101.sff)"
mothur "#trim.flows(flow=H2Y6SP101.flow, oligos=H2Y6SP101.oligos, bdiffs=2, pdiffs=4, processors=8, order=B)"
mpirun -np 8 mothurMPI "#shhh.flows(file=H2Y6SP101.flow.files, order=B)"

I have run also done non MPI but same error:

mothur "#shhh.flows(file=H2Y6SP101.flow.files, processors=8, order=B)"

and running each seperately:

while read line; \
    do mothur "#shhh.flows(flow=$$line, processors=8, order=B)"; \
done < H2Y6SP101.flow.files;

When you are doing the non mpi version are you using our precompiled binary or running the mpi compiled version without mpirun?

It seems mothur and mothurMPI are the same file.

Built with make MOTHUR_FILES=”/opt/bio/mothur” USEMPI=yes
Version 1.30.2

When you build with the USEMPI=YES flag set the mpi version of the mothur source code is used. When USEMPI=NO, non mpi source code is used. I am trying to determine if the issue is stemming from the MPI source code or if it is an issue with both implementations. Could you try running it with our pre compiled binary? You can download it at,