exonerate icon indicating copy to clipboard operation
exonerate copied to clipboard

Segmentation fault protein2genome

Open francicco opened this issue 6 years ago • 6 comments

Hi,

I'm getting this segmentation fault, and I don't know how to fix it, any help?

Segmentation fault      exonerate --showsugar T --showtargetgff T --softmasktarget T -n 2 --model protein2genome --percent 50 --refine full --query $EXONINPUT.$SPLIT.fasta --target $TARGET

exonerate --version
exonerate from exonerate version 2.4.0
Using glib version 2.46.2
Built on Nov 22 2019

Best F

francicco avatar Nov 22 '19 10:11 francicco

Hi @francicco , are your --query and --target sequences available for download so I can attempt to reproduce?

nathanweeks avatar Dec 03 '19 20:12 nathanweeks

Hello,

I am experiencing the same issue. I am running exonerate from within a conda env.

sh: line 1: 145164 Trace/breakpoint trap   (core dumped) exonerate --model protein2genome --percent 90 --showcigar no -D 1000 --showquerygff no --showtargetgff yes --showalignment no --showvulgar no --softmasktarget yes --minintron 20 -c 40 -q /project/maizegdb/sagnik/FINDER/Finder/example/FINDER_test_ARATH/assemblies_psiclass_modified/proteins_for_alignment.fasta -t /project/maizegdb/sagnik/FINDER/Finder/example/Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa > /project/maizegdb/sagnik/FINDER/Finder/example/FINDER_test_ARATH/assemblies_psiclass_modified/proteins_for_alignment.gff3 2> /project/maizegdb/sagnik/FINDER/Finder/example/FINDER_test_ARATH/assemblies_psiclass_modified/proteins_for_alignment.error

exonerate --version
exonerate from exonerate version 2.4.0
Using glib version 2.58.3
Built on Oct 26 2019

Could you please look into this? proteins_for_alignment.fasta.zip

sagnikbanerjee15 avatar Jan 09 '21 17:01 sagnikbanerjee15

I tried several things but nothing worked. I moved to version 2.2.0 and then exonerate worked. The only issue is that the version 2.2.0 does not have multi-threading support.

sagnikbanerjee15 avatar Jan 10 '21 13:01 sagnikbanerjee15

@sagnikbanerjee15 : could you provide example --query and --target sequences (can be uploaded to, e.g., Box if large), as well as the exonerate command used, so I can attempt to reproduce the issue & determine if it's an exonerate 2.2.0 vs. 2.4.0 issue, or a multi-threading issue (note that multi-threading was disabled in the master branch due to data races in the code).

nathanweeks avatar Jan 11 '21 14:01 nathanweeks

@nathanweeks The query sequence has been attached in the previous comment and you can obtain the target sequence from ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa.gz

Thanks.

sagnikbanerjee15 avatar Jan 11 '21 15:01 sagnikbanerjee15

@sagnikbanerjee15: I was unable to reproduce the segfault using exonerate v2.4.0 (compiled from source, using a method similar to the one in the new Dockerfile), and executed with -c 16. However, since the exonerate v2.4.0 multi-threading code is unreliable (and I've updated the README.md to warn against using -c/--cores), I'd suggest trying without the -c option. If that still results in a segfault, then I can investigate elsewhere in the code.

If performance is an issue, then you might want to investigate exonerate-server (similar to the blat gfServer). In addition to speeding up single-threaded exonerate "client" alignments, it also supports serving multiple concurrent exonerate clients (and I had a wrapper script years ago that started an exonerate-server, partitioned input sequences & executed multiple concurrent exonerate clients, and re-assembled the output into a single output stream---I can dig this up & dust it off if there's interest).

@francicco: a while back, I fixed a segfault when --refine is used. I'm not sure if this is relevant to the segfault you encountered; could you try exonerate v2.4.0 without --refine (or try building exonerate from the master branch and use the --refine option)?

nathanweeks avatar Jan 23 '21 17:01 nathanweeks