Segmentation fault protein2genome
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
Hi @francicco , are your --query and --target sequences available for download so I can attempt to reproduce?
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
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 : 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 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: 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)?