funannotate icon indicating copy to clipboard operation
funannotate copied to clipboard

Infinite loop on Phobius error

Open mglubber opened this issue 3 years ago • 0 comments

Are you using the latest release? on v1.8.11, but I don't think there are any commits that change the relevant code between 1.8.11 and 1.8.13

Describe the bug funannotate annotate enters an infinite loop if there's an internal stop codon in a predicted protein sequence. May be related to issue #696.

As far as I can tell, Phobius fails on sequences that have a internal stop codon. This causes runSubprocess to sys.exit(1), which kills the running process. Since runMultiprogress/runMultiNoProgress launch separate processes (through apply_async) and waits for them complete & return, (either in the while True loop or at pool.close()), the program never completes and hangs indefinitely.

This issue can be fixed by raising an error in runSubprocess instead of running sys.exit(). I'll submit a pull request shortly, but I wanted to document the issue first.

What command did you issue? funannotate annotate --cpus 20 --signalp signalp6_out/prediction_results.txt -i fun_7_S7_L001_out/

Logfiles

[Sep 14 09:55 AM]: Predicting secreted and transmembrane proteins using Phobius
[Sep 14 09:55 AM]: CMD ERROR: phobius.pl -short FUN_014091-T1.fa
[Sep 14 09:55 AM]: Phobius ver 1.01
(c) 2004 Lukas Kall, Anders Krogh, Erik Sonnhammer

Could not read provided fasta sequence at /usr/local/bin/phobius.pl line 408.

    Progress: 99.99%

OS/Install Information

-------------------------------------------------------
Checking dependencies for 1.8.11
-------------------------------------------------------
You are running Python v 3.8.12. Now checking python packages...
biopython: 1.77
goatools: 1.2.3
matplotlib: 3.4.3
natsort: 8.1.0
numpy: 1.23.1
pandas: 1.4.3
psutil: 5.9.1
requests: 2.28.1
scikit-learn: 1.1.1
scipy: 1.9.0
seaborn: 0.11.2
All 11 python packages installed


You are running Perl v b'5.026002'. Now checking perl modules...
Carp: 1.38
Clone: 0.42
DBD::SQLite: 1.64
DBD::mysql: 4.046
DBI: 1.642
DB_File: 1.855
Data::Dumper: 2.173
File::Basename: 2.85
File::Which: 1.23
Getopt::Long: 2.5
Hash::Merge: 0.300
JSON: 4.02
LWP::UserAgent: 6.39
Logger::Simple: 2.0
POSIX: 1.76
Parallel::ForkManager: 2.02
Pod::Usage: 1.69
Scalar::Util::Numeric: 0.40
Storable: 3.15
Text::Soundex: 3.05
Thread::Queue: 3.12
Tie::File: 1.02
URI::Escape: 3.31
YAML: 1.29
threads: 2.15
threads::shared: 1.56
   ERROR: local::lib not installed, install with cpanm local::lib

Checking Environmental Variables...
$FUNANNOTATE_DB=/databases/funannotate
$PASAHOME=/home/lubbertsm/miniconda3/envs/funannotate/opt/pasa-2.5.2
$TRINITY_HOME=/home/lubbertsm/miniconda3/envs/funannotate/opt/trinity-2.8.5
$EVM_HOME=/home/lubbertsm/miniconda3/envs/funannotate/opt/evidencemodeler-1.1.1
$AUGUSTUS_CONFIG_PATH=/usr/share/augustus/config
$GENEMARK_PATH=/opt/genemarkES
All 6 environmental variables are set
-------------------------------------------------------
Checking external dependencies...
PASA: 2.5.2
CodingQuarry: 2.0
Trinity: 2.8.5
augustus: 3.4.0
bamtools: bamtools 2.5.1
bedtools: bedtools v2.30.0
blat: BLAT v35
diamond: 2.0.15
emapper.py: 2.1.9
ete3: 3.1.2
exonerate: exonerate 2.4.0
fasta: no way to determine
glimmerhmm: 3.0.4
gmap: 2021-08-25
gmes_petap.pl: 4.69_lic
hisat2: 2.2.1
hmmscan: HMMER 3.3.2 (Nov 2020)
hmmsearch: HMMER 3.3.2 (Nov 2020)
java: 11.0.1
kallisto: 0.46.1
mafft: v7.505 (2022/Apr/10)
makeblastdb: makeblastdb 2.2.31+
minimap2: 2.24-r1122
pigz: pigz 2.6
proteinortho: 6.1.0
pslCDnaFilter: no way to determine
salmon: salmon 0.14.1
samtools: samtools 1.12
snap: 2006-07-28
stringtie: 2.2.1
tRNAscan-SE: 2.0.9 (July 2021)
tantan: tantan 39
tbl2asn: no way to determine, likely 25.X
tblastn: tblastn 2.2.31+
trimal: trimAl v1.4.rev15 build[2013-12-17]
trimmomatic: 0.39
        ERROR: signalp not installed

mglubber avatar Sep 14 '22 19:09 mglubber